java - Eureka/Discovery 服务与路由

标签 java architecture microservices cloud-foundry

在 CloudFoundry 中,您可以通过在发现服务中注册其他微服务并按其名称查询它们来访问它们。但是您也可以设置一个路由(“子域”),您可以从中调用该服务,这似乎更容易处理。在这两种情况下都可以使用集群、断路器等。

在什么情况下应该使用第一种或第二种方法?

最佳答案

当您担心软件的可维护性和弹性时,注册表方法会更好。

注册表名称对于您的软件的问题域可能有意义,并且可以在软件的所有部署(开发、qa、产品等)中重复使用

路由名称引入了对网络基础设施的依赖关系。它必须是全局唯一的,您需要为软件的每次部署配置和管理不同的一个,并且它可能会因外部问题而中断(例如:您的子域因公司名称更改而更改)。

关于java - Eureka/Discovery 服务与路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56224507/

相关文章:

java - 如何更换 ignite 缓存?

java - HDFS中用于异构Hadoop集群的数据放置和分发

linux - 根据 $LD_LIBRARY_PATH 和架构选择库

ios - 在模型中快速使用内部类是一种好习惯吗?

docker - 带有 docker 的 API 网关有哪些选项?

Java:ConcurrentHashMap 的 ConcurrencyLevel 值

java - 在java中查找系统的字节顺序

javascript - 何时根据来自 redux 的数据更新本地 react 状态?

ruby-on-rails - rails : How to listen to/pull from service or queue?

java - 如何监控长时间运行作业的 REST 端点