Rocketmq-- RocketMQ4.X基础介绍

一.阿里开源消息队列 RocketMQ4.x介绍和新概念讲解

Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件

1.1 特点

支持Broker和Consumer端消息过滤

支持发布订阅模型,和点对点

支持拉pull和推push两种消息模式

单一队列百万消息、亿级消息堆积

支持单master节点,多master节点,多master多slave节点

任意一点都是高可用,水平拓展,Producer、Consumer、队列都可以分布式

消息失败重试机制、支持特定level的定时消息

新版本底层采用Netty

4.3.x支持分布式事务

适合金融类业务,高可用性跟踪和审计功能。

1.2 概念:

Producer:消息生产者

Producer Group:消息生产者组,发送同类消息的一个消息生产组

Consumer:消费者

Consumer Group:消费同类消息的多个实例

Tag:标签,子主题(二级分类)对topic的进一步细化,用于区分同一个主题下的不同业务的消息

Topic:主题, 如订单类消息,queue是消息的物理管理单位,而topic是逻辑管理单位。一个topic下可以有多个queue,

默认自动创建是4个,手动创建是8个

Message:消息,每个message必须指定一个topic

Broker:MQ程序,接收生产的消息,提供给消费者消费的程序

Name Server:给生产和消费者提供路由信息,提供轻量级的服务发现、路由、元数据信息,可以多个部署,互相独立(比zookeeper更轻量)

Offset: 偏移量,可以理解为消息进度

commit log: 消息存储会写在Commit log文件里面

二.阿里云Linux服务器部署JDK8实战

linux下使用wget下载jdk8:

进到目录/usr/local/software 配置环境变量

解压:tar -zxvf jdk-8u201-linux-x64.tar.gz
重命名:mv jdk1.8.0_201 jdk8
vim /etc/profile
加入
export JAVA_HOME=/usr/local/software/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
使用 source /etc/profile   让配置立刻生效

三.阿里云Linux服务器安装Maven实战

解压:tar -zxvf apache-maven-3.6.0-bin.tar.gz
重命名: mv apache-maven-3.6.0 maven
vim /etc/profile
export PATH=/usr/local/software/maven/bin:$PATH

立刻生效:source /etc/profile

四.阿里云服务器源码部署RocketMQ4.X(Linux系统)

官方下载最新源码包,阿里云Linux服务器部署,解决内存不够问题
文档地址
Liunx 解压安装 yum install unzip
常见问题:
NameServer内存不够怎么处理
找到 runserver.sh 修改 JAVA_OPT

报错问题如下
[root@iZwz94sw188z3yfl7lpmmsZ apache-rocketmq]# sh bin/mqnamesrv
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006ec800000, 2147483648, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/software/rocketmq-all-4.4.0/distribution/target/apache-rocketmq/hs_err_pid8993.log

解决如下 编辑 bin/runserver.sh:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

Broker内存不足
找到 runbroker.sh 修改 JAVA_OPT

JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值