RocketMQ早期布道师、RocketMQ社区视频直播讲师。《RocketMQ架构设计与实战原理》作者。
本节详细介绍了Document Update API的核心关键点以及实现要点,最后给出Demo展示如何在JAVA中使用Update API。
本文简单介绍了elasticsearch index delete api使用示例。
本节首先罗列了文档Get API,并对GetRequest进行了详细分析,接着通过3个 示例展示Get API的使用,最后重点分析GET API 内部的实现机制(实时性、source过滤、路由、复制组内分片节点倾向性、刷新机制等)。
本文详细展示了elasticsearch Document Index API详解、原理与java 示例,包含_shards字段说明、版本工作机制、路由机制、自动ID生成、Wait For Active Shards、分布式与刷写机制的原理。
本文详细介绍了ElasticSearch文档的读写模型的设计思路,涉及到写模型及其异常处理、读模型及其异常处理、主备负载模型背后隐含的设计缺陷与ElasticSearch在异常情况带来的影响。
详细分析介绍了Elasticsearch两大客户端TransportClient与RestHighLevelClient ,并详细介绍了es集群探测机制(client.transport.sniff)。
本文主要是考虑在使用消息中间件时,如果保证不丢消息的一些实践思考。
事务消息提交或回滚的实现原理就是根据commitlogOffset找到消息,如果是提交动作,就恢复原消息的主题与队列,再次存入commitlog文件进而转到消息消费队列,供消费者消费,然后将原预处理消息存入一个新的主题RMQ_SYS_TRANS_OP_HALF_TOPIC,代表该消息已被处理;回滚消息与提交事务消息不同的是,提交事务消息会将消息恢复原主题与队列,再次存储在commitlog文件中。
本文详细分析了RocketMQ事务消息实现原理中的事务状态回查实现,RocketMQ会默认一分钟的频率处理消息状态为Prepare的消息,通过调用消息生产者的事务状态查询接口得知消息的事务状态,从而决定提交或回滚消息。
初步展示了事务消息的发送流程,总的说来,RocketMQ的事务消息发送使用二阶段提交思路,首先,在消息发送时,先发送消息类型为Prepread类型的消息,然后在将该消息成功存入到消息服务器后,回调TransactionListener#executeLocalTransaction,执行本地事务状态回调函数,然后根据该方法的返回值,结束事务。
RocketMQ源码分析之从官方示例窥探RocketMQ事务消息实现基本思想。