没有服务发现的微服务架构

时间:2018-07-12 07:07:44

标签: kubernetes jhipster istio

在没有本地服务发现的情况下,我需要帮助以正确的工作流程进行Jhipster开发。

在我当前的私人项目中,我使用Jhipster注册表进行服务发现和OAuth2(密钥斗篷)。一切都部署到了Kubernetes,效果很好。

现在,我想切换到Istio。因此,我选择了“ serviceDiscoveryType”选项:false。

在kubernetes环境中,这可能可行,因为入口定义处理路由。我还没有尝试过。

我现在的问题是,没有这个我不知道如何在本地发展。启动连接到微服务(端口8081)的简单网关(端口8080)时,出现错误,因为它在端口8080上寻找微服务。

在这一点上,我想补充一下,所有内容均由Oauth2(密钥斗篷)保护。

是否可以将安全的呼叫路由到正确的端口(8081),也许是'webpack.dev.js'中的一个选项?

谢谢您的建议。

1 个答案:

答案 0 :(得分:2)

这是我们将来将在jhipster中讨论的一个问题。但是目前您可以执行以下操作:

  1. 内部负载平衡:在docker-compose(退出jhipster docker-compose)中启动服务时,您可以像在kubernetes中一样访问服务。如果您正在运行“ foo-app”,您可以执行任何容器和curl http://foo-app/并正确路由。

  2. 边缘路由:在kubernetes中,您可以定义多个入口路径,以将example.com/路由到gateway:8080,将example.com/foo路由到foo:8081(如果这是配置)。 Docker-compose本身没有任何功能。但是,您可以通过为此构建一个NGINX反向代理来解决该问题。

检查一下:https://medium.com/@joatmon08/using-containers-to-learn-nginx-reverse-proxy-6be8ac75a757

它很好地解释了如何设置类似的内容