我打算将K8s / Istio引入我的基础设施。 现在我有很多服务使用RabbitMQ相互通信。
服务网格概念似乎假设所有服务都应该是同步的。
我希望至少保留一些我的服务异步,并利用istio提供的Mutual TLS身份验证以及聚合监控。
是否有任何工具/方法可以帮助我简化Sync和Async服务的管理?
谢谢,
答案 0 :(得分:3)
请注意,Istio可以在TCP之上控制非HTTP协议,包括提供相互TLS身份验证。请参阅此DHCP的mTLS示例(视为不透明TCP) - https://preliminary.istio.io/docs/tasks/security/https-overlay.html。
我不熟悉AMQP,但因为它是protocol on top TCP,所以应该可以通过Istio将其控制为不透明的TCP。
答案 1 :(得分:0)
显然,有WIP可以通过Kafka过滤器向Envoy代理添加异步(事件驱动)消息传递:https://github.com/envoyproxy/envoy/issues/2852
关于使用服务网格进行事件驱动的消息传递的很好的总结,这里:https://www.infoq.com/articles/service-mesh-event-driven-messaging