我正在做一个项目,使用springboot、spring cloud netflix等来构建微服务。
对于一些异步通信,我使用 Spring Cloud Stream 来生成和使用事件。例如,在合同服务中起草了业务合同后,该服务会发布一个合同创建事件,该事件将被审计服务消费,以启动审计流程。此外,用户服务将使用该事件为相关方创建通知。
场景是我有很多事件,消费者会根据事件类型订阅感兴趣的事件。我遇到的问题是,我有很多事件类型,很快,我的配置文件就会被频道配置淹没。例如
spring.cloud.stream.bindings.creation.destination=contract-creation
spring.cloud.stream.bindings.revocation.destination=contract-revocation
spring.cloud.stream.bindings.termination.destination=contract-termination
...
我做错了什么?我正在考虑这些替代方案:
- 大卫图兰斯基!有一个示例,它将按类型选择性地使用事件。哪个是一个很好的解决方案,但我在想,Spring Cloud Stream 有原生解决方案吗?
- 我应该使用 Apache Camel 还是 Spring Integration?我没有复杂的路由规则,这些框架看起来有点矫枉过正。
我是消息传递方面的新手,希望这里的人们能给我指出正确的方向。