随笔分类 -  1009 RocketMQ

摘要:1. 修改RocketMQ默认启动端口 由于只有两台机器,部署双主双从需要四个节点,所以只能修改rocketmq的默认启动端口,从官网下载rocketmq的source文件,解压后使用idea打开,全局搜索9876,将所有使用9876端口的地方改为9877。 在终端打开,使用:mvn -Prelea 阅读全文
posted @ 2019-05-15 09:43 xiaoshen666 阅读(1813) 评论(0) 推荐(0) 编辑
摘要:在前面学习ActiveMQ时,看到ActiveMQ可以是队列消息模式,也可以是订阅发布模式。 同样,在RocketMQ中,也存在两种消息模式,即是集群消费模式和广播消费模式。 1. 集群消费模式 跟AciiveMQ一样,当存在多个消费者时,消息通过一定负载均衡策略,将消息分发到多个consumer中 阅读全文
posted @ 2019-05-15 09:41 xiaoshen666 阅读(891) 评论(0) 推荐(0) 编辑
摘要:1. 概念 Producer端重试: 生产者端的消息失败,也就是Producer往MQ上发消息没有发送成功,比如网络抖动导致生产者发送消息到MQ失败。 这种消息失败重试我们可以手动设置发送失败重试的次数。 Consumer端重试: Consumer消费消息失败后,要提供一种重试机制,令消息再消费一次 阅读全文
posted @ 2019-05-15 09:40 xiaoshen666 阅读(974) 评论(0) 推荐(0) 编辑
摘要:1. Exactly Only Once (1). 发送消息阶段,不允许发送重复的消息 (2). 消费消息阶段,不允许消费重复的消息。 只有以上两个条件都满足情况下,才能认为消息是“Exactly Only Once”,而要实现以上两点,在分布式系统环 境下,不可避免要产生巨大的开销。所以Rocke 阅读全文
posted @ 2019-05-15 09:40 xiaoshen666 阅读(452) 评论(0) 推荐(0) 编辑
摘要:1. PushConsumer 推,Broker主动向Consumer推消息,它Consumer的一种,应用通常向对象注册一个Listener接口,一旦接收到消息,Consumer对象立刻回调Linstener接口方法。Push方式里,consumer把轮询过程封装了,并注册MessageListe 阅读全文
posted @ 2019-05-15 09:39 xiaoshen666 阅读(2716) 评论(0) 推荐(0) 编辑
摘要:由于消息的消费方式有两种,所以两种方式也有不同的API: 1. PushConsumer的配置 1. consumerGroup: 默认值为DEFAULT_CONSUMER,Consumer组名,多个Consumer如果属于一个应用,订阅同样的消息,且消费逻辑一致,则应该将它们归为同一组 2. me 阅读全文
posted @ 2019-05-15 09:39 xiaoshen666 阅读(806) 评论(0) 推荐(0) 编辑
摘要:1. 事务消息原理图 RocketMQ除了支持普通消息,顺序消息之外,还支持了事务消息。 1. 什么是分布式事务? 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些 阅读全文
posted @ 2019-05-15 09:38 xiaoshen666 阅读(1425) 评论(0) 推荐(0) 编辑
摘要:1. 顺序消息原理图 2. 什么是顺序消息? 消费消息的顺序要求同发送消息的顺序一致,在RocketMQ中,主要指的是局部顺序,即一类消息为满足顺序性,必须Producer单线程顺序发送,并且发送给到同一队列,这样Consumer就可以按照Producer发送的顺序去消费消息。 2.1 普通顺序消息 阅读全文
posted @ 2019-05-15 09:37 xiaoshen666 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:在RocketMQ中提供了三种发送消息的模式: 1.NormalProducer(普通) 2.OrderProducer(顺序) 3.TransactionProducer(事务) 下面来介绍一下producer中的各个API的使用: 1. producerGroup:Producer组名, 默认值 阅读全文
posted @ 2019-05-15 09:36 xiaoshen666 阅读(976) 评论(0) 推荐(0) 编辑
摘要:1. 添加依赖 pom.xml如下: <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.3.1</version> </dependency> 阅读全文
posted @ 2019-05-15 09:35 xiaoshen666 阅读(2672) 评论(0) 推荐(0) 编辑
摘要:1. RocketMQ主要的9个模块,如图: 2. 模块介绍 1. rocketmq-common:通用的常量枚举,基类方法或者数据结构,按描述的目标来分包,通俗易懂。报名有admin,consumer,filter,hook,message等。 2. rocketmq-remoting:用Nett 阅读全文
posted @ 2019-05-15 09:35 xiaoshen666 阅读(472) 评论(0) 推荐(0) 编辑
摘要:1. 下载rocketmq-console-ng 官网地址:https://github.com/apache/rocketmq-externals 拉下来之后,使用idea打开rocketmq-console,在application.properties配置文件中修改rocketmq.confi 阅读全文
posted @ 2019-05-15 09:34 xiaoshen666 阅读(1716) 评论(0) 推荐(0) 编辑
摘要:前面已经学习了RockeMQ的四种集群方式,接下来就来搭建一个双Master(2m)的集群环境。 1. 双Master服务器环境 序号 ip 用户名 密码 角色 模式 (1) 47.105.145.123 root nameServer1,brokerServer1 Master1 (2) 47.1 阅读全文
posted @ 2019-05-15 09:15 xiaoshen666 阅读(449) 评论(0) 推荐(0) 编辑
摘要:1. RocketMQ的物理结构 RecketMQ网络部署的特点: Name Server是一个几乎无状态特点,可集群部署,节点之间无任何信息同步的(相对于zookeeper是较为轻量级的)。 Broker部署相对比较复杂的,Broker分为Master和Slave,一个Master可以对应多个Sl 阅读全文
posted @ 2019-05-15 09:14 xiaoshen666 阅读(578) 评论(0) 推荐(0) 编辑
摘要:1. 什么是RocketMQ? 是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。 Producer、Consumer、队列都可以分布式。 Producer 吐一些队列轮流収送消息,队列集合称为Topic,Consumer 如果做广播消费,则一个consumer 实例消费返个Top 阅读全文
posted @ 2019-05-15 09:13 xiaoshen666 阅读(505) 评论(0) 推荐(0) 编辑
摘要:RocketMQ推荐了几种Broker集群方式,这里的Slave不可写,但可读,类似于Mysql主备方式 1. 单个Master 这是一种风险比较大的集群方式,因为一旦Borker重启或宕机期间,将会导致这个服务不可用,因此是不建议线上环境去使用的。 2. 多个Master 一个集群全部都是Mast 阅读全文
posted @ 2019-05-15 09:13 xiaoshen666 阅读(1412) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示