基于消息队列解耦服务

作者 : 开心源码 本文共427个字,预计阅读时间需要2分钟 发布时间: 2022-05-12 共191人阅读

业务场景形容

每日签到,签到后赠送积分。签到和赠送积分分属于开发团队,作为两个微服务开发部署。

传统方式

一般情况下,大家都会直接使用微服务的传统调用方式,在每日签到服务中调用积分微服务。

问题分析

我们来看看这种方式可能会有哪些问题?

  1. 积分服务不稳固会影响签到服务
    比方在调用积分服务的时候,假如积分服务响应时间较长,那么在客户端感受就会很差。这其实就是低优先级的服务影响了高优先级的服务。

  2. 签到服务正常,积分服务异常怎样解决
    从业务角度来讲,我们要有先保证客户的签到正常,而积分能否赠送成功我们可以走时间推迟的容忍度。但最终我们还是要保证签到后都赠送积分,这就是最终一致性。某一时刻积分服务不正常,不能影响客户签到,而积分服务正常后我们应该自动完成积分赠送工作,也就是要有重试机制。

基于消息队列的实现

签到服务不应该耦合积分服务,我们需要使用消息队列解耦合,两个服务通过消息队列进行交互。如下图:

image.png

基于消息队列的重试机制,我们能保证积分服务的最终一致性。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 基于消息队列解耦服务

发表回复