【发布时间】:2018-11-28 19:57:04
【问题描述】:
对于基于微服务的解决方案,正如通常在“文献”中所描述的那样,在服务前面有一个轻量级层,例如用作负载平衡器或实现某种身份验证和/或授权.
我想知道在这种类型的解决方案中,微服务如何使用消息进行通信。如果没有消息代理,消息是否直接在 JMS(或类似)级别实现?
真的可以在不使用任何消息代理的情况下实施适当的消息传递解决方案吗?
【问题讨论】:
标签: microservices message messagebroker
对于基于微服务的解决方案,正如通常在“文献”中所描述的那样,在服务前面有一个轻量级层,例如用作负载平衡器或实现某种身份验证和/或授权.
我想知道在这种类型的解决方案中,微服务如何使用消息进行通信。如果没有消息代理,消息是否直接在 JMS(或类似)级别实现?
真的可以在不使用任何消息代理的情况下实施适当的消息传递解决方案吗?
【问题讨论】:
标签: microservices message messagebroker
消息或事件用于异步通信,在这种情况下,微服务只是一小段代码,以某种方式对新消息做出反应。您可以建立一种机制来将消息从服务发送到另一个服务,但这既不高效也不干净。所以我们确实需要一个消息代理,其职责是管理事件/消息。 在我看来,你不能没有消息代理
【讨论】:
你的单个问题里面有不同的独立问题。
(1) 微服务系统能否在没有消息代理系统的帮助下生存?
是的,绝对可以。
(2) 具有认证/授权(身份服务器)层的微服务系统在没有消息代理系统的帮助下还能生存吗?
是的,还是可以的。
(3) 那么,到底为什么人们使用消息代理在微服务之间进行通信?
消息代理(消息队列)是一种经过验证的干净子服务之间实现通信(企业集成)的方式。
干净是什么意思?
(4) 现在,不使用消息队列的其他替代方案是什么?
【讨论】: