返回顶部
首页 > 资讯 > 精选 >微服务中可靠消息服务如何实现
  • 214
分享到

微服务中可靠消息服务如何实现

2023-06-27 11:06:41 214人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“微服务中可靠消息服务如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“微服务中可靠消息服务如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 常用解决方案分布式事物解决方式有很

本文小编为大家详细介绍“微服务中可靠消息服务如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“微服务中可靠消息服务如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

微服务中可靠消息服务如何实现

一 常用解决方案

分布式事物解决方式有很多,网上博客也有一大堆 总结一般有如下两种

1 刚性分布式事务,两阶段提交 强一致性

2 柔性分布式事务 最大努力提交 ,tcc,可靠消息服务

首先解决分布式事务前提保障:接口必须幂等性,防止消息重复发送对业务影响

二 可靠消息系统设计(这个感觉不错比较简单,就拿来分享下)

微服务中可靠消息服务如何实现

如上图

开始执行 比如:try{if(prepare()) { //预发送阶段doService(); //执行业务逻辑updateMsgStatus();//更新消息为确认状态}}

1 预发送消息,try阶段,如果预发送消息失败了,业务还未执行,所以 系统A,B还是一致性的 不需要处理

这一点容易理解

2 预发送消息成功了,开始执行业务逻辑。执行成功 更新预发送消息转态为确认发送。如果 此时 业务逻辑执行失败了,那预发送消息就不会跟新状态,此时消息确认系统就开启工作,到业务系统1上回查此消息状态,此时发现业务执行失败了,就更新预发送状态至失败状态。

3 如果此时 业务执行成功了消息也被更新成确认发送了 那就ok 完美。如果消息更新失败,还是由消息确认系统回查转态 更新此消息被删除状态还是确认发送状态。

4 消息者开始消费

1> 比如消费失败了,此时产生不一致, 消息恢复系统检测消息状态,重新发送消息

2>如果执行业务失败了,此消息也就不会被确认了,还是由消息恢复系统检测消息状态,重新发送消息

3>如果ask失败了,还是以上逻辑重新发送上诉重新发送当然有次数限制,不能一直发送,超过最大次数就要进入死信队列,等待人工干预了

4> ask成功,消息也就成功消费了,完美,解决了消息可靠服务

三 努力提交

这个比较简单 ,将失败的消息重复提交,实时性比较弱的一些场景,确保消息推送成功。

比如交易完成推送第三方消息。 此时可以使用努力提交

微服务中可靠消息服务如何实现

读到这里,这篇“微服务中可靠消息服务如何实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: 微服务中可靠消息服务如何实现

本文链接: https://lsjlt.com/news/310219.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 微服务中可靠消息服务如何实现
    本文小编为大家详细介绍“微服务中可靠消息服务如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“微服务中可靠消息服务如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 常用解决方案分布式事物解决方式有很...
    99+
    2023-06-27
  • Storm如何实现可靠性消息传递
    Storm具有内置的可靠性机制,可以确保消息传递的可靠性。它使用“ack”和“fail”机制来跟踪每个消息的处理状态,并在消息处理失...
    99+
    2024-04-02
  • springboot中rabbitmq实现消息可靠性机制详解
    1. 生产者模块通过publisher confirm机制实现消息可靠性  1.1 生产者模块导入rabbitmq相关依赖 <!--AMQP依赖,包含Rabbit...
    99+
    2024-04-02
  • android 仿微信demo——微信消息界面实现(服务端)
    目录服务端微信消息页实现测试总结 上一篇实现了移动端微信消息界面功能,以此为基础继续完善服务端功能 服务端微信消息页实现 微信消息界面的实现,和登录,注册是类似的,无非就是接受客...
    99+
    2024-04-02
  • 如何接入微信小程序消息服务
    这篇“如何接入微信小程序消息服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何接入微信小程序消息服务”文章吧。接入概述接...
    99+
    2023-06-26
  • PHP微信开发:如何实现客服消息管理
    在如今的社交媒体时代,微信已成为一个重要的社交平台。如果你是一位PHP开发者并且在微信开发方面有足够的经验,那么你可以轻松地构建一个出色的微信公众号客服系统。但是,如果你是一位PHP开发者并且你认为自己对微信开发并不熟悉,那么你可能需要一些...
    99+
    2023-05-14
    PHP 微信开发 客服消息管理
  • RocketMQ Broker实现高可用高并发的消息中转服务
    目录RocketMq-broker注册消息存储消息读取消费者拉取消息按照key查询RocketMq-broker broker主要作用就是存储消息。所以重点就放在它对于消息的处理上面...
    99+
    2023-05-17
    RocketMq Broker RocketMq Broker消息中转
  • SpringBoot+netty-socketio如何实现服务器端消息推送
    这篇文章主要介绍SpringBoot+netty-socketio如何实现服务器端消息推送,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先:因为工作需要,需要对接socket.io框架对接,所以目前只能使用nett...
    99+
    2023-06-14
  • WebSocket如何实现服务器消息推送客户端
    这篇文章主要为大家展示了“WebSocket如何实现服务器消息推送客户端”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WebSocket如何实现服务器消息推送客户端”这篇文章吧。  一、背景  ...
    99+
    2023-06-02
  • Golang与RabbitMQ实现微服务架构中的消息解耦和解藕
    在微服务架构中,消息解耦和解藕是非常重要的概念。它们可以帮助不同的微服务之间实现解耦,降低彼此的依赖性,并提高系统的扩展性和可维护性...
    99+
    2023-10-20
    Golang
  • 企业微信消息推送(一)接收消息服务器URL
    1.点击左上角头像,打开微信管理平台 2.创建应用 3.获取五个参数 3.1获取应用的AgentId、Secret 3.2获取企业ID 配置接收消息服务器URL 企业微信限制过多,公司域名所有...
    99+
    2023-09-30
    服务器 企业微信 java
  • 微信小程序的消息框如何实现
    这篇文章主要讲解了“微信小程序的消息框如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序的消息框如何实现”吧!wxml<import src="/dist/to...
    99+
    2023-06-26
  • Kafka中如何实现消息的事务性保证
    Kafka中可以通过以下几种方式实现消息的事务性保证: 使用生产者事务:Kafka提供了生产者事务API,可以确保消息的原子性提...
    99+
    2024-04-02
  • html中如何直接给服务器发消息
    这篇文章将为大家详细讲解有关html中如何直接给服务器发消息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   HTML5 服务器发送事件(S...
    99+
    2024-04-02
  • 如何设计一个可靠的MySQL表结构来实现消息推送功能?
    如何设计一个可靠的MySQL表结构来实现消息推送功能?概述:随着移动应用的普及,消息推送功能成为了许多应用程序的核心功能之一。在实现消息推送功能时,如何设计一个可靠的MySQL表结构是非常重要的。这篇文章将介绍如何设计一个可靠的MySQL表...
    99+
    2023-10-31
    可靠性设计 消息推送功能 MySQL表结构设计
  • 如何设计一个可靠的MySQL表结构来实现消息队列功能?
    如何设计一个可靠的MySQL表结构来实现消息队列功能?摘要:消息队列是现代软件系统中常用的一种通信机制,用于解耦和提高系统的可靠性。MySQL是一个强大的关系型数据库管理系统,可以用来实现消息队列功能。本文将介绍如何设计一个可靠的MySQL...
    99+
    2023-10-31
    消息队列 关键词:MySQL 表结构
  • 如何找可靠的香港服务器
    找可靠香港服务器的方法:1、收集香港服务器供应商的信息,查看供应商的信用度以及品牌质量;2、根据你自己网站服务的需求来选择香港服务器的配置,千万不要让香港服务器负载运行,这样会导致用户访问网站速度慢,严重会导致网站崩溃;3、可以询问身边的朋...
    99+
    2024-04-02
  • 如何实现微服务鉴权
    今天小编给大家分享一下如何实现微服务鉴权的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 认证与授权首先小伙伴们知道,无论...
    99+
    2023-07-05
  • Golang中使用RabbitMQ实现消息确认和保证可靠性的技巧
    在Golang中使用RabbitMQ实现消息确认和保证可靠性的技巧包括以下几个方面:1. 使用消息确认机制:在RabbitMQ中,可...
    99+
    2023-10-20
    Golang
  • .NET Core如何实现企业微信消息推送
    这篇文章主要介绍了.NET Core如何实现企业微信消息推送的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇.NET Core如何实现企业微信消息推送文章都会有所收获,下面我们一起来看看吧。接...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作