【问题标题】:Pattern matching for messages on IstioIstio 上消息的模式匹配
【发布时间】:2019-10-11 05:43:41
【问题描述】:

我想使用 kubernetes 和 Istio 实现《微服务之道》一书中介绍的方法。换句话说,我希望微服务通过模式匹配的队列消息相互通信,并且我仍然使用 Istio 的路由功能将 5% 的消息发送到新的微服务(Canari 部署)。

我在a rather old article 中读到,Istio 目前不支持队列路由,但我想知道它现在的状态。

有没有人用 Istio/queue 主题实现这个解决方案的例子?即带有以下路由键的消息

store:save
kind:entity

被重新路由到一个微服务,该微服务将自己注册为接受

store:*
kind:entity

【问题讨论】:

    标签: kubernetes microservices message-queue istio


    【解决方案1】:

    这更像是一个架构建议问题。

    对于这种模式,您最好使用像 RabbitMQKafka 这样的消息代理,或事件总线(或其他东西)。

    本质上,您将在 Istio 背后拥有订阅某些消息主题的服务(在其他地方发布,可能是另一个服务)。

    这样,例如,您可以拥有(service 1, queue1/topic1)(service2, queue2/topic2) 之类的内容。然后在 Istio 上,如果您将 Andriod 和 iOS 流量分开,您将有一个规则将 Android 的所有流量发送到 (service 1, queue1/topic1),并将 iOS 的所有流量发送到 (service2, queue2/topic2)。或者您可以将 80% 的流量发送到 (service 1, queue1/topic1),将 20% 的流量发送到 (service2, queue2/topic2)

    您可以在 Kubernetes 或 Kubernetes 外部运行消息代理,具体取决于您希望如何构建解决方案。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      相关资源
      最近更新 更多