我如何将命令,查询和事件转发到另一个Axon实例

问题描述 投票:0回答:1

我们正在运行Axon,并已连接多个服务。所有人都工作正常,但在开发/测试应用程序时在本地运行所有内容会导致内存和磁盘窥视100%,这使开发工作变得困难。因此,我想知道是否有可能创建一种在本地运行的“代理”服务,以将一些命令,查询和事件转发到另一个在其他位置运行并已连接了真实服务的Axon实例。因此我们不必在本地运行所有服务。我希望我在这里清楚地解释它。

proxy microservices cqrs axon
1个回答
0
投票

当然是一个有趣的场景。尽管目前我们在Axon Framework中没有为此的标准解决方案,但我可以看到实现它的一些方法,即可以在本地处理命令/查询的子集,并仍然使用事件存储和处理程序Axon Server中的其他命令/查询。

我将采用的方法是扩展AxonServerCommandBus和AxonServerQueryBus类,并覆盖命令总线中的分派操作和查询总线中的query / scatterGather操作。这些操作可以过滤您要在本地处理的操作(基于命令/查询名称或基于请求中的某些元数据),然后将消息转发到localSegment(可通过localSegment()操作访问)。

希望这会有所帮助,

马克

© www.soinside.com 2019 - 2024. All rights reserved.