【发布时间】:2018-07-19 04:02:58
【问题描述】:
免责声明。 我有使用Hazelcast 和Vert.x 的经验。我是Apache Kafka 的新手。抱歉,如果我的问题看起来是先入为主的,那不是。
有两种广泛的方式来安排微服务之间的通信:REST 和消息传递。在我所在的地区,当有人说他们正在使用消息传递在微服务之间进行通信时——这实际上是指 Apache Kafka。
我很想知道为什么 Apache Kafka 比 Hazelcast 的 Topic 更适合微服务之间的通信需求?好点吗?因为哪些保证、特性或架构决策?
Hazelcast 的集群范围消息传递示例如下所示:
// node #1
Hazelcast.newHazelcastInstance()
.getTopic("topic")
.publish(new Date());
// node #2
Hazelcast.newHazelcastInstance()
.getTopic("topic");
.addMessageListener(message -> /*Do something here*/);
还有在 Hazelcast 的主题和成员发现之上编写的 Vert.x(非常粗略地说演员框架)。
Kafka 消息传递是否更适合微服务之间的通信?
【问题讨论】:
标签: apache-kafka microservices messaging hazelcast