- 博客(6)
- 收藏
- 关注
原创 RocketMQ——与Netty的结合
RocketMQ作为一个高效的分布式消息队列,通信质量是必须保证的,而Netty是一个高效的网络应用框架,因此RocketMQ选择Netty来实现底层的通信功能。Netty介绍 Netty是一个高效的JAVA网络应用框架,它提供异步事件驱动的方式,使用Netty可以快速开发出高性能的网络应用程序。 &nb...
2020-01-31 21:32:59 3193
原创 MYSQL基础知识——逻辑结构、并发控制、事务、多版本控制和存储引擎
本篇文章会简单对MYSQL的逻辑结构、并发控制、事务、多版本控制和存储引擎等知识点进行梳理。1 MYSQL逻辑结构 MYSQL逻辑结构如图所示,最上层服务主要包括连接管理、授权认证等;第二层服务是整个MYSQL的核心层,查询解析、优化、缓存以及所有内置函数的功能都在该层实现;第三层包含了存储引擎...
2020-04-24 16:20:32 334
原创 springboot +mybatis 操作多数据源
使用JDBCTemplate去操作数据库流程如下:1)在application.properties 或者 application.yml中配置多数据源(由于是多数据源一定要写成jdbc-url) datasource: primary: jdbc-url: jdbc:mysql://localhost:3306/rocketmq userna...
2020-04-23 21:19:41 168
原创 RocketMQ——NameServer部分源码流程分析
目录结构其中,NamesrvStartUp是整个模块的启动入口,NamesrvController用来协调各个模块功能。NameServer的启动 public static void main(String[] args) { main0(args); } public static NamesrvController main0(Stri...
2020-01-26 21:05:22 159
原创 RocketMQ中的核心机制
Broker是RocketMQ的核心组件,完成接受Producer生产的消息、处理Consumer的消费消息的请求、消息的持久化、以及HA等等。消息的存储和发送作为一个优秀的分布式队列,需要达到实时性、高吞吐量、高可用的要求。为了满足高可用性,通常的做法就是将消息进行持久化,入磁盘,RocketMQ也是如此。同时,磁盘的读取速度需要与网络传速速度匹配才能提高消息队列的性能,举个例子,读...
2020-01-09 16:43:39 245
原创 RocketMQ——队列位置信息
如何存储队列位置信息结合具体的应用场景,难免会遇到重新消费某条消息,比如返回消息消费失败,让MQ重新投递,或者需要跳过某一段时间内的消息进行消费等情况,为了解决这些需求,都需要将队列位置信息offset进行存储。因此本文将分析offset的存储位置,以及如何调整offset的值。何为offset在RocketMQ中,一种类型的消息会拥有一个Topic,为了提高并行消费能力,一个Top...
2020-01-05 17:08:47 502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人