【发布时间】:2021-02-17 20:53:09
【问题描述】:
我有两个微服务。 Service #1 将某个对象放入需要处理的队列(数据库中的一个表)中。之后,在service #2 中,Sheduler 每隔几秒从队列中取出新记录并处理它们,然后将结果以 json 格式保存到数据库中。问题是,处理结果如何通知service #1?
【问题讨论】:
标签: java spring queue microservices spring-cloud
我有两个微服务。 Service #1 将某个对象放入需要处理的队列(数据库中的一个表)中。之后,在service #2 中,Sheduler 每隔几秒从队列中取出新记录并处理它们,然后将结果以 json 格式保存到数据库中。问题是,处理结果如何通知service #1?
【问题讨论】:
标签: java spring queue microservices spring-cloud
您可以使用任何消息代理 activeMq 或 rabbitMq 来实现这一点。请参考:https://spring.io/guides/gs/messaging-rabbitmq/ 请使用 rabbitmq 接收器来获取通知并适当地触发对您的服务 1 的处理
【讨论】:
您可以为您的微服务通信设置 Kafka。要通知service #1,您可以通过Kafka 从service #2 发送一个事件。
假设您将从service #2 发送一个名为“PROCESSING_DONE”的事件,service #1 将监听此事件并进行进一步处理。
这一切都将实时发生。
【讨论】: