首页 文章

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

提问于
浏览
0

当没有本地服务发现时,我需要帮助正确的工作流程与Jhipster一起开发 .

在我目前的私人项目中,我使用Jhipster注册表进行服务发现,使用OAuth2(Keycloak) . 所有东西都被部署到Kubernetes,完美运行 .

现在我想切换到Istio . 因此我选择了'serviceDiscoveryType'选项:false .

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

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

此时我想补充一点,Oauth2(Keycloak)确保一切安全 .

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

谢谢你的建议 .

1 回答

  • 2

    这是我们将来在jhipster中讨论的一个问题 . 但目前这是你可以做的:

    • 内部负载 balancer :在docker-compose中启动服务时(查看jhipster docker-compose,然后你可以访问与kubernetes相同的服务 . 如果你有"foo-app"运行,你可以执行任何容器和 curl http://foo-app/ 并正确路由 .

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

    看看:https://medium.com/@joatmon08/using-containers-to-learn-nginx-reverse-proxy-6be8ac75a757

    它解释了如何设置类似的东西非常好

相关问题