背景
在日志工作中,我们在不同语言中进行通信,可以走http请求和通过发Mq消息的形式来进行通信,本次记录在使用mq进行go与java之间的服务通信
场景
在工作中,需要go系统在执行操作后回写大量数据(10万+)到java环境的表中
java实现功能
使用mq,设计程序 作为监听者,监听go系统发送的消息,入参为每条记录的入参json,并逐条消费回到表中后,并执行后续操作,ack确认消费成功。
逻辑本质:
- mq逐条发消息进行逻辑处理。
go实现功能
go系统执行操作后,大量数据(10万+)先写入go的库中,发送mq消息给java系统, 内容为 查询这个大量数据的入参json,并提供一个http接口 可以查询根据mq的消息json查询到这些数据
逻辑本质:
- mq只进行一次通知。
- java监听到mq在去调用http接口获取大量数据。
- 数据全部拿过来在进行逻辑处理。
疑问
大家觉得mq应该怎么用?这个需求怎么设计比较合理?