RocketMq 是什么
Apache RocketMQ 是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,数十亿容量和灵活的可扩展性。
它提供了多种功能:
- Pub / Sub 消息模型
- 计划的消息传递
- 通过时间或偏移量来追溯消息
- 记录集线器进行流媒体
- 大数据整合
- 在同一队列中可靠的 FIFO 和严格有序的消息传递
- 高效的推拉式消费模式
- 百万级的消息堆积能力在一个队列中
- 多个消息协议,如 JMS 和 OpenMessaging
- 灵活的分布式横向扩展部署架构
- 快速批量消息交换系统
- 各种消息过滤器机制,如 SQL 和标记
- Docker 镜像用于隔离测试和云隔离的集群
- 功能丰富的管理仪表板用于配置,指标和监控
快速开始
快速入门指南是在本地机器上设置 RocketMQ 消息系统以发送和接收消息的详细说明。
环境要求
假定安装了以下软件:
64 位操作系统,建议使用 Linux / Unix / Mac;
64 位 JDK 1.8+;
Maven 3.2.x
git
Clone & Build
> git clone -b develop https://github.com/apache/rocketmq.git
> cd rocketmq
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq
Start Name Server
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
Start Broker
> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success...
发送和接收消息
在发送/接收消息之前,我们需要告诉客户名称服务器的位置。 RocketMQ 提供了多种方法来实现这一点。 为了简单起见,我们使用环境变量 NAMESRV_ADDR
> export NAMESRV_ADDR=localhost:9876
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
Shutdown Servers
> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
参考官方文档: https://rocketmq.apache.org/docs/quick-start/
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于