【发布时间】:2018-09-28 05:57:03
【问题描述】:
假设我有 1000 个虚拟机,它们运行着不同的服务,使用不同的技术,如 python、NET、java 和不同的中间件,如 rabbitmq、redis 等。 如何动态处理服务之间的交互并提供可扩展性?
例如,假设我有服务 A,它正在将数据推送到 rabbitmq,然后数据由服务 B 处理,同时从服务 C 获取其他数据。你看到最后我有一个分散的系统,它在某处提取数据并且把它推到别的地方……一团糟!将其扩展到 2000 个微服务,天哪,XD。
当我改变一件事时,很多其他系统都会受到影响。 您是否知道类似 ESB 之类的东西,我可以将两个服务与中间的消息转换适配器耦合在一起,并且我可以在运行时更改依赖关系?例如,流不再以服务 F 结束,而是以 G 结束?
我认为微服务是一个好主意,因为它们可以是无状态的,可以扩展,可以轻松地部署为容器。但我不知道管理数据流的好工具/程序。 rabbitmq 不支持足够多的企业集成模式。你有什么建议吗?
【问题讨论】:
标签: rabbitmq microservices consul apache-servicemix