MQ如何保证分布式事务的最终一致性
分布式事务:业务相关的多个操作,保证它们同时成功或者同时失败最终一致性:只要保证最终的事务是对齐的就行强一致性:每一个过程的 MQ中要保证事务的最终一致性 生产者要保证100%的消息投递。 消费者保证幂等消费。唯一ID+业务自己实现幂等。 分布式MQ的三种语义: at least once:至少一次 at most once:至多一次 exactly onc...
分布式事务:业务相关的多个操作,保证它们同时成功或者同时失败最终一致性:只要保证最终的事务是对齐的就行强一致性:每一个过程的 MQ中要保证事务的最终一致性 生产者要保证100%的消息投递。 消费者保证幂等消费。唯一ID+业务自己实现幂等。 分布式MQ的三种语义: at least once:至少一次 at most once:至多一次 exactly onc...
MQTT协议是什么 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,目前最新版本为v3.1.1。 MQTT最大的优点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯...
BIO是什么? 概念 BIO,又称Block-IO,是一种阻塞+同步的通信模式. 是一个比较传统的通信方式,模式简单,使用方便.但是并发处理能力低,通信耗时,依赖网速 原理 服务器通过一个Acceptor线程,负责监听客户端请求和为每个客户端创建一个新的线程进行链路处理.典型的一请求一应答模式 若客户端数量增多,频繁地创建和销毁线程会给服务器打开很大的压力.后改良为用线程...
🦅 概念 TCP 是以流的方式来处理数据,所以会导致粘包 / 拆包。 拆包:一个完整的包可能会被 TCP 拆分成多个包进行发送。 粘包:也可能把小的封装成一个大的数据包发送。 🦅 原因 应用程序写入的字节大小大于套接字发送缓冲区的大小,会发生拆包现象。而应用程序写入数据小于套接字缓冲区大小,网卡将应用多次写入的数据发送到网络上,这将会发生粘包现象。 待发送数据大...
第一个版本的 Spring Cloud 面试题,主要把整个文章的大体结构定了,后续在慢慢完善补充~如下是 Eureka + Ribbon + Feign + Hystrix + Zuul 整合后的图: Eureka + Ribbon + Feign + Hystrix + Zuul
一、基础 模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。 主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。 SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL ...
如下图所示: RocketMQ 角色 生产者(Producer):负责产生消息,生产者向消息服务器发送由业务应用程序系统生成的消息。 消费者(Consumer):负责消费消息,消费者从消息服务器拉取信息并将其输入用户应用程序。 消息服务器(Broker):是消息存储中心,主要作用是接收来自 Producer 的消息并存储, Consumer 从这里取得消息。 名称服...
艿艿:注意,RocketMQ 是否会丢数据,主要取决于我们如何使用。这点,非常重要噢。 🦅 消费端弄丢了数据? 对于消费端,如果我们在使用 Push 模式的情况下,只有我们消费返回成功,才会异步定期更新消费进度到 Broker 上。 如果消费端异常崩溃,可能导致消费进度未更新到 Broker 上,那么无非是 Consumer 可能重复拉取到已经消费过的消息。关于这个,就需要消费端做好消...
RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。 如下是 RocketMQ 产生的原因: 淘宝内部的交易系统使...
Ribbon主要提供客户端的软件负载均衡算法,实现服务高可用。