本文详细分析了RocketMQ事务消息实现原理中的事务状态回查实现,RocketMQ会默认一分钟的频率处理消息状态为Prepare的消息,通过调用消息生产者的事务状态查询接口得知消息的事务状态,从而决定提交或回滚消息。
分类:
其他好文 时间:
2019-01-08 17:19:10
阅读次数:
185
I/O流的概念 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件对象,流是一种抽象,它负责在数据的生产者和数据的消费者之间建立连接,并管理数据的流动。程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对所连接的文件对象产生作 ...
分类:
编程语言 时间:
2019-01-08 15:19:08
阅读次数:
148
原文:RabbitMQ与.net core(二)Producer与ExchangeProducer:消息的生产者,也就是创建消息的对象 Exchange:消息的接受者,也就是用来接收消息的对象,Exchange接收到消息后将消息按照规则发送到与他绑定的Queue中。下面我们来定义一个Producer... ...
分类:
Web程序 时间:
2019-01-08 10:12:02
阅读次数:
248
消息中间件的可靠性是指对消息不丢失的保障程度;而消息中间件的可用性是指无故障运行的时间百分比,通常用几个 9 来衡量。不存在绝对的可靠性只能尽量趋向完美。并且通常可靠性也意味着影响性能和付出更大的成本,因此实际应用时还要根据业务需求,对真正关键的信息来做可靠性保证,并要从生产者、消息队列、消费者三个 ...
分类:
其他好文 时间:
2019-01-07 10:34:53
阅读次数:
129
原文链接:http://lidawn.github.io/2018/12/26/distribute tracing/ 起因 最近一直在做分布式链路追踪的调研和实践,整理一下其中的知识点。 什么是链路追踪 分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等, ...
分类:
其他好文 时间:
2019-01-07 00:20:29
阅读次数:
705
Kafka作为一个流式数据平台,对开发者提供了三种客户端:生产者/消费者、连接器、流处理。本文着重分析这三种客户端的线程模型。看到最后的通常都有惊喜。消费者的线程模型0.8版本以前的消费者客户端会创建一个基于ZK的消费者连接器,一个消费者客户端是一个Java进程,消费者可以订阅多个主题,每个主题也可以多个线程。为了让消息在多个节点被分布式地消费,提高消息处理的吞吐量,Kafka允许多个消费者订阅同
分类:
编程语言 时间:
2019-01-05 12:17:14
阅读次数:
226
同步异步 对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,它会经历两个阶段: 1. 等待数据准备 (Waiting for the data to be ready) 2. 将数据从 ...
分类:
其他好文 时间:
2019-01-04 20:20:42
阅读次数:
189
线程理论 多线程也是用于提高程序的效率 1,多进程 核心是多道技术 本质上就是切换加保存状态 当程序IO操作较多 可以提高程序效率 2,多线程什么是线程 程序的执行线路 相当于与一条流水线,其包含了程序的具体执行步骤 如果我们把操作系统比喻为一个工厂,进程就是车间,先出就是流水线 3,线程和进程的关 ...
分类:
编程语言 时间:
2019-01-02 19:15:51
阅读次数:
175
RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。消息中间件的工作过程可以用生产者消费者模型来表示... ...
分类:
编程语言 时间:
2019-01-01 23:54:08
阅读次数:
230
售票服务 银行取款 龟兔赛跑 生产者消费者模式 ...
分类:
编程语言 时间:
2019-01-01 16:06:19
阅读次数:
201