From 149792aba0640d45086a446806dd26ce24ad3eda Mon Sep 17 00:00:00 2001 From: wanghe Date: Tue, 14 May 2024 14:18:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20RocketMQ=20(#1407)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rocketmq/5.2.0/data.yml | 58 ++++++++++++++ .../5.2.0/data/broker/conf/broker.conf | 7 ++ apps/rocketmq/5.2.0/data/broker/logs/.gitkeep | 0 .../rocketmq/5.2.0/data/broker/store/.gitkeep | 0 .../rocketmq/5.2.0/data/namesrv/logs/.gitkeep | 0 .../5.2.0/data/proxy/conf/rmq-proxy.json | 3 + apps/rocketmq/5.2.0/data/proxy/logs/.gitkeep | 0 apps/rocketmq/5.2.0/docker-compose.yml | 74 ++++++++++++++++++ apps/rocketmq/5.2.0/scripts/init.sh | 3 + apps/rocketmq/README.md | 24 ++++++ apps/rocketmq/data.yml | 19 +++++ apps/rocketmq/logo.png | Bin 0 -> 2227 bytes 12 files changed, 188 insertions(+) create mode 100755 apps/rocketmq/5.2.0/data.yml create mode 100644 apps/rocketmq/5.2.0/data/broker/conf/broker.conf create mode 100644 apps/rocketmq/5.2.0/data/broker/logs/.gitkeep create mode 100644 apps/rocketmq/5.2.0/data/broker/store/.gitkeep create mode 100644 apps/rocketmq/5.2.0/data/namesrv/logs/.gitkeep create mode 100644 apps/rocketmq/5.2.0/data/proxy/conf/rmq-proxy.json create mode 100644 apps/rocketmq/5.2.0/data/proxy/logs/.gitkeep create mode 100644 apps/rocketmq/5.2.0/docker-compose.yml create mode 100644 apps/rocketmq/5.2.0/scripts/init.sh create mode 100644 apps/rocketmq/README.md create mode 100755 apps/rocketmq/data.yml create mode 100644 apps/rocketmq/logo.png diff --git a/apps/rocketmq/5.2.0/data.yml b/apps/rocketmq/5.2.0/data.yml new file mode 100755 index 00000000..187645e4 --- /dev/null +++ b/apps/rocketmq/5.2.0/data.yml @@ -0,0 +1,58 @@ +additionalProperties: + formFields: + - default: 9876 + edit: true + envKey: PANEL_APP_PORT_NAMESERVER + labelEn: NameServer Port + labelZh: NameServer 端口 + required: true + rule: paramPort + type: number + - default: 10911 + edit: true + envKey: PANEL_APP_PORT_LISTEN + labelEn: Broker ListenPort + labelZh: Broker 监听端口 + required: true + rule: paramPort + type: number + - default: 10909 + edit: true + envKey: PANEL_APP_PORT_FASTLISTEN + labelEn: Broker FastListenPort + labelZh: Broker 快速监听端口 + required: true + rule: paramPort + type: number + - default: 10912 + edit: true + envKey: PANEL_APP_PORT_HALISTEN + labelEn: Broker HaListenPort + labelZh: Broker HA 监听端口 + required: true + rule: paramPort + type: number + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_REMOTINGLISTEN + labelEn: Proxy RemotingListenPort + labelZh: Proxy 远程监听端口 + required: true + rule: paramPort + type: number + - default: 8081 + edit: true + envKey: PANEL_APP_PORT_GRPCSERVER + labelEn: Proxy GrpcServerPort + labelZh: Proxy grpc 端口 + required: true + rule: paramPort + type: number + - default: 8088 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Dashboard Port + labelZh: Dashboard 端口 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/rocketmq/5.2.0/data/broker/conf/broker.conf b/apps/rocketmq/5.2.0/data/broker/conf/broker.conf new file mode 100644 index 00000000..38b54951 --- /dev/null +++ b/apps/rocketmq/5.2.0/data/broker/conf/broker.conf @@ -0,0 +1,7 @@ +brokerClusterName = DefaultCluster +brokerName = broker-a +brokerId = 0 +deleteWhen = 04 +fileReservedTime = 48 +brokerRole = ASYNC_MASTER +flushDiskType = ASYNC_FLUSH \ No newline at end of file diff --git a/apps/rocketmq/5.2.0/data/broker/logs/.gitkeep b/apps/rocketmq/5.2.0/data/broker/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/rocketmq/5.2.0/data/broker/store/.gitkeep b/apps/rocketmq/5.2.0/data/broker/store/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/rocketmq/5.2.0/data/namesrv/logs/.gitkeep b/apps/rocketmq/5.2.0/data/namesrv/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/rocketmq/5.2.0/data/proxy/conf/rmq-proxy.json b/apps/rocketmq/5.2.0/data/proxy/conf/rmq-proxy.json new file mode 100644 index 00000000..ad8c9b71 --- /dev/null +++ b/apps/rocketmq/5.2.0/data/proxy/conf/rmq-proxy.json @@ -0,0 +1,3 @@ +{ + "rocketMQClusterName": "DefaultCluster" +} \ No newline at end of file diff --git a/apps/rocketmq/5.2.0/data/proxy/logs/.gitkeep b/apps/rocketmq/5.2.0/data/proxy/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/rocketmq/5.2.0/docker-compose.yml b/apps/rocketmq/5.2.0/docker-compose.yml new file mode 100644 index 00000000..1f0432e2 --- /dev/null +++ b/apps/rocketmq/5.2.0/docker-compose.yml @@ -0,0 +1,74 @@ +services: + namesrv: + image: apache/rocketmq:5.2.0 + container_name: ${CONTAINER_NAME}-rmqnamesrv + ports: + - ${PANEL_APP_PORT_NAMESERVER}:9876 + networks: + - 1panel-network + volumes: + - ./data/namesrv/logs:/home/rocketmq/logs + command: sh mqnamesrv + labels: + createdBy: "Apps" + broker: + image: apache/rocketmq:5.2.0 + container_name: ${CONTAINER_NAME}-rmqbroker + links: + - namesrv + ports: + - ${PANEL_APP_PORT_FASTLISTEN}:10909 + - ${PANEL_APP_PORT_LISTEN}:10911 + - ${PANEL_APP_PORT_HALISTEN}:10912 + networks: + - 1panel-network + environment: + - NAMESRV_ADDR=namesrv:9876 + volumes: + - ./data/broker/logs:/home/rocketmq/logs + - ./data/broker/store:/home/rocketmq/store + - ./data/broker/conf/broker.conf:/opt/rocketmq-5.2.0/conf/broker.conf + command: sh mqbroker -c /opt/rocketmq-5.2.0/conf/broker.conf + labels: + createdBy: "Apps" + proxy: + image: apache/rocketmq:5.2.0 + container_name: ${CONTAINER_NAME}-rmqproxy + links: + - namesrv + - broker + depends_on: + - broker + ports: + - ${PANEL_APP_PORT_REMOTINGLISTEN}:8080 + - ${PANEL_APP_PORT_GRPCSERVER}:8081 + networks: + - 1panel-network + restart: on-failure + environment: + - NAMESRV_ADDR=namesrv:9876 + volumes: + - ./data/proxy/logs:/home/rocketmq/logs + - ./data/proxy/conf/rmq-proxy.json:/opt/rocketmq-5.2.0/conf/rmq-proxy.json + command: sh mqproxy -pc /opt/rocketmq-5.2.0/conf/rmq-proxy.json + labels: + createdBy: "Apps" + dashboard: + image: apacherocketmq/rocketmq-dashboard:latest + container_name: ${CONTAINER_NAME}-rmqdashboard + links: + - namesrv + depends_on: + - namesrv + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + networks: + - 1panel-network + restart: on-failure + environment: + - JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/rocketmq/5.2.0/scripts/init.sh b/apps/rocketmq/5.2.0/scripts/init.sh new file mode 100644 index 00000000..d05fa6ad --- /dev/null +++ b/apps/rocketmq/5.2.0/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 3000:3000 data \ No newline at end of file diff --git a/apps/rocketmq/README.md b/apps/rocketmq/README.md new file mode 100644 index 00000000..2a7027ac --- /dev/null +++ b/apps/rocketmq/README.md @@ -0,0 +1,24 @@ +# RocketMQ + +**Apache RocketMQ** 是一个分布式消息和流媒体平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可扩展性。 + +## 主要功能: + +- 消息传递模式包括发布/订阅、请求/回复和流式传输 +- 金融级交易消息 +- 基于 DLedger Controller 的内置容错和高可用性配置选项 +- 内置消息追踪能力,也支持 opentracing +- 多功能大数据和流媒体生态系统集成 +- 按时间或偏移量追溯消息 +- 同一队列中可靠的 FIFO 和严格有序的消息传递 +- 高效的拉推消费模式 +- 单队列百万级消息累积能力 +- 多种消息传递协议,例如 gRPC、MQTT、JMS 和 OpenMessaging +- 灵活的分布式横向扩展部署架构 +- 闪电般快速的批量消息交换系统 +- SQL、Tag等多种消息过滤机制 +- 用于隔离测试和云隔离集群的 Docker 镜像 +- 用于配置、指标和监控的功能丰富的管理仪表板 +- 认证与授权 +- 免费的开源连接器,适用于源和接收器 +- 轻量级实时计算 \ No newline at end of file diff --git a/apps/rocketmq/data.yml b/apps/rocketmq/data.yml new file mode 100755 index 00000000..0a9b4474 --- /dev/null +++ b/apps/rocketmq/data.yml @@ -0,0 +1,19 @@ +name: RocketMQ +tags: + - 中间件 +title: 云原生消息传递和流媒体平台 +description: +additionalProperties: + key: rocketmq + name: RocketMQ + tags: + - Middleware + shortDescZh: 云原生消息传递和流媒体平台 + shortDescEn: Cloud native messaging and streaming platform + type: tool + crossVersionUpdate: false + limit: 0 + recommend: 0 + website: https://rocketmq.apache.org/ + github: https://github.com/apache/rocketmq/ + document: https://rocketmq.apache.org/docs/ diff --git a/apps/rocketmq/logo.png b/apps/rocketmq/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e027399371c84009ca48137d5396f494dcf40233 GIT binary patch literal 2227 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