Microservices 如何在谷歌云平台上实现微服务传奇

Microservices 如何在谷歌云平台上实现微服务传奇,microservices,google-cloud-pubsub,distributed-transactions,axon,saga,Microservices,Google Cloud Pubsub,Distributed Transactions,Axon,Saga,我正在研究在GCP中K8S托管的平台中实现微服务Saga模式的解决方案。 有两种选择:多形Tram和轴突。然而,这些框架似乎不支持由云提供商(如google cloud Pubsub)管理的message broker,而我不想将Kafka或RabbitMQ部署到K8S,因为GCP已经支持Pubsub 那么,有没有办法集成Eventate或Axon来使用google cloud PubSub? 谢谢不确定Endute在这方面的角度,但是Axon与扩展一起作为消息代理工作,而不是。在Axon的整个

我正在研究在GCP中K8S托管的平台中实现微服务Saga模式的解决方案。 有两种选择:多形Tram和轴突。然而,这些框架似乎不支持由云提供商(如google cloud Pubsub)管理的message broker,而我不想将Kafka或RabbitMQ部署到K8S,因为GCP已经支持Pubsub

那么,有没有办法集成Eventate或Axon来使用google cloud PubSub?
谢谢

不确定Endute在这方面的角度,但是Axon与扩展一起作为消息代理工作,而不是。在Axon的整个生命周期中(阅读:过去10年),已经提供了其中一些,但目前没有一个用于Axon框架定义的所有类型的消息。例如,您将无法使用Kafka在Axon中发送命令

原因何在?命令、事件和查询具有不同的路由要求,应通过为作业使用正确的工具来反映这些要求

在Axon方面更具体一点,可以使用以下扩展来分发消息:

  • ->用于活动
  • ->用于活动
  • ->用于命令
  • ->用于命令
正如您所知,目前没有发布/订阅扩展来允许您分发消息。除此之外,我的直觉会告诉我它是否可用,然后它可能只用于事件消息,因为Pub/Sub的意图是作为消息代理

幸运的是,这实际上使自己创建这样一个扩展变得相当简单。详细介绍构建这个的所有细节会有点多,所以我建议在实现这个目标时,首先看看Axon的AMQP扩展。关于这个问题的提示是,对于发布,您应该添加一个组件来处理Axon的事件,并将它们发布到Pub/Sub上。对于处理事件,您需要构建一个
StreamableMessageSource
SubscribableMessageSource
。这些接口分别由
TrackingEventProcessor
SubscribingEventProcessor
使用,后者又是负责处理事件的技术方面的组件

顺便说一句,如果你想建立这样一个扩展,你需要一只手,最好在AxonIQ论坛上请求,你可以找到

最后一点,也是我要说的相当重要的一点,是这样一个连接器不能处理所有类型的消息。如果您需要一个更成熟的Axon应用程序以分布式方式运行,我强烈建议您在从头开始构建自己的解决方案之前,先尝试一下Axon服务器