Mat*_*ias 4 spring jms event-driven-design spring-jms microservices
在片刻,我们设计并计划将我们的系统转换为微服务架构模式.
为了松散耦合,我们考虑使用JMS主题的事件驱动设计.这看起来很棒.但我现在不知道如何通过微服务的多个实例解决问题.对于故障转移和负载平衡,我们有每个服务的n个实例.如果事件发布到主题,则每个实例将接收并处理该事件.
可以使用数据存储中的锁定和处理状态来处理此问题.但是这个解决方案看起来非常昂贵,每个实例都有相同的工作.这对我来说不是负担.
这种模式有一些好的解决方案或最佳实践吗?
为什么不使用Queue
而不是Topic
?然后你的实例将竞争消息而不是全部获得副本.
编辑
rabbitmq可能更适合你 - 发布到扇出交换并拥有任意数量的队列,每个队列都有任意数量的竞争消费者.
我还看到了竞争客户端使用相同客户端ID连接的JMS主题.一些(所有?)经纪人只允许一个这样的客户消费.其他人一直试图重新连接,直到目前的消费者死亡.
归档时间: |
|
查看次数: |
1044 次 |
最近记录: |