所有的教程都建议,当涉及到微服务之间的通信时,我们应该使用类似kafka之类的异步通信,而不是直接同步http通信。
有人能解释一下为什么吗?使用kafka如何实现异步通信?
发布于 2022-10-30 16:56:47
这个问题非常广泛。我认为使用异步通信的主要目的是分离域边界,但是这样做还有其他好处:分区失败和支持尖峰而不破坏系统的能力。
想象一下网上商店的购物:
其中一些关键路径可能需要同步发生(例如支付),但所有其他路径都可以同步发生。Kafka只是一个消息代理(查看文档或免费书籍卡夫卡:权威指南,了解它是如何工作的)
还可以构建一个完全异步的平台(例如使用请求-答复模式)。
关于使用消息传递和示例的一个令人难以置信的好解释出现在企业集成模式一书中。这本书出版已经近20年了,但里面的一切都是最新的。
https://stackoverflow.com/questions/74254820
复制相似问题