由于像Istio和Linkerd这样的服务网格专注于服务间的通信,而不是使用Kafka进行事件驱动消息传递,我是否可以扩展服务网格来实现事件驱动消息传递?
胡国兴(新加坡)
发布于 2020-06-03 16:32:25
使用Istio可以实现事件驱动的消息传递(我猜Linkerd也是如此)。基本上,服务代理将像任何其他TCP一样拦截事件流量,并将它们转发到服务,这仍然与中间的traffic1一起工作。
但是,正如您所说,服务网格关注的是服务到服务的通信,因此您可能无法像使用HTTP通信那样轻松地控制生产者和消费者之间的通信,因为这种通信通过消息代理。因此,服务网格的一些功能可能不会有太多意义,比如流量转移。而其他特征仍然是相关的,例如具有一致的可观察性或安全性。
这里有一篇关于扩展Istio + Kafka的有趣的博客文章,它可能会给你一些想法:https://itnext.io/scalable-microservice-demo-k8s-istio-kafka-344a2610eba3
1:如果您使用特使的Kafka协议过滤器,则“与任何其他TCP流量一样”可能不完全正确,这可能会在处理kafka消息时添加新功能:https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/kafka_broker_filter (例如,更多遥测)。但这并不是让它正常工作所必需的。
https://stackoverflow.com/questions/62163619
复制相似问题