RocketMq (一) 快速开始

本贴最后更新于 2567 天前,其中的信息可能已经水流花落

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/

RocketMQ 最佳实践(四)可视化管理控制台 rocketmq-console-ng

rocketmq 可以外网访问

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...