https://github.com/dpwgc/kapokmq-server
KapokMQ - 开箱即用的轻量级分布式消息队列 - 服务器应用整合包。基于go整合gossip+websocket开发。
https://github.com/dpwgc/kapokmq-server
cluster go golang gossip message-queue mq server vue websocket
Last synced: 7 months ago
JSON representation
KapokMQ - 开箱即用的轻量级分布式消息队列 - 服务器应用整合包。基于go整合gossip+websocket开发。
- Host: GitHub
- URL: https://github.com/dpwgc/kapokmq-server
- Owner: dpwgc
- Created: 2022-01-07T18:20:16.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-02-10T19:16:08.000Z (over 3 years ago)
- Last Synced: 2025-01-20T07:33:33.638Z (9 months ago)
- Topics: cluster, go, golang, gossip, message-queue, mq, server, vue, websocket
- Language: HTML
- Homepage: https://github.com/dpwgc/kapokmq
- Size: 162 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# KapokMQ
## KapokMQ & Serena 服务器应用整合包


[](https://github.com/dpwgc/kapokmq)
[](https://gitee.com/dpwgc/kapokmq/stargazers)
[](https://gitee.com/dpwgc/kapokmq/members)#### KapokMQ ~ 消息队列源码
* https://github.com/dpwgc/kapokmq `github`
* https://gitee.com/dpwgc/kapokmq `gitee`
#### Serena ~ 服务发现与注册中心源码
* https://github.com/dpwgc/serena `github`
* https://gitee.com/dpwgc/serena `gitee`
#### kapokmq-go-client ~ Golang客户端
* https://github.com/dpwgc/kapokmq-go-client `github`
* https://gitee.com/dpwgc/kapokmq-go-client `gitee`
***
### 目录说明
##### /kapokmq-server
* /kapokmq-server
* /kapokmq `消息队列`
* /serena `注册中心````yaml
/kapokmq # 文件根目录
kapokmq.exe # Windows exe启动文件
kapokmq # Linux二进制文件
run.sh # Linux启动脚本
application.yaml # 消息队列配置文件
/log # 日志存储目录
/view # 前端-Vue项目打包文件
MQDATA # 持久化文件
``````yaml
/serena # 文件根目录
serena.exe # Windows exe启动文件
serena # Linux二进制文件
run.sh # Linux启动脚本
application.yaml # 注册中心配置文件
/log # 日志存储目录
```***
### 注意事项
* 本应用无需安装任何依赖,开箱即用。
* Linux服务器上部署需给予 kapokmq-server-linux 文件目录777权限。
* 服务器需要开放对应的端口号(Gin http服务端口号、Gossip服务端口号)。
* 推荐使用默认配置,可在默认配置的基础上调整。
* 消息队列与注册中心的安全访问密钥secretKey应保持一致。
* 在非内网服务器集群上部署时,需将消息队列与注册中心配置文件中的Addr地址改服务器公网IP。
***
### 在Linux上部署项目
##### 将 kapokmq-server-linux 文件夹上传至服务器
* 单机部署方式
```yaml
# 运行kapokmq
cd到 /kapokmq
按需修改配置 ./application.yaml
终端执行 ./run.sh 启动服务
```* 集群部署方式
```yaml
# 运行serena
cd到 /serena
按需修改配置 ./application.yaml
终端执行 ./run.sh 启动服务# 运行kapokmq
cd到 /kapokmq
按需修改配置 ./application.yaml(isCluster需设为1)
终端执行 ./run.sh 启动服务# 注:如果采用集群方式部署,要先运行注册中心,再运行消息队列
```* 主从节点绑定
```yaml
# 主节点配置
cd到 /kapokmq
修改配置 ./application.yaml
(将isSync设为1、isSlave设为0)# 从节点配置
cd到 /kapokmq
修改配置 ./application.yaml
(将isSync与isSlave都设为1,填写需要绑定的主节点地址)# 注:先启动主节点再启动从节点
```***
### 在Windows上部署项目
##### 将 kapokmq-server-windows 文件夹上传至服务器
* 单机部署方式
```yaml
# 运行kapokmq
cd到 /kapokmq
按需修改配置 ./application.yaml
运行 kapokmq.exe 启动服务
```* 集群部署方式
```yaml
# 运行serena
cd到 /serena
按需修改配置 ./application.yaml
运行 serena.exe 启动服务# 运行kapokmq
cd到 /kapokmq
按需修改配置 ./application.yaml(isCluster需设为1)
运行 kapokmq.exe 启动服务# 注:如果采用集群方式部署,要先运行注册中心,再运行消息队列
```* 主从节点绑定
```yaml
# 主节点配置
cd到 /kapokmq
修改配置 ./application.yaml
(将isSync设为1、isSlave设为0)# 从节点配置
cd到 /kapokmq
修改配置 ./application.yaml
(将isSync与isSlave都设为1,填写需要绑定的主节点地址)# 注:先启动主节点再启动从节点
```***
### KapokMQ消息队列网页端控制台
##### 消息队列启动后访问:
> http://127.0.0.1:8011/#/Console
* 控制台需输入访问密钥登录,默认访问密钥为"test",可在配置文件中修改。
***
### Serena注册中心开放接口
##### 获取所有消息队列节点信息
* 启动注册中心后,可通过此接口获取消息队列节点列表。
> http://127.0.0.1:8031/Registry/GetNodes
##### 请求方式
> POST##### Content-Type
> form-data##### 请求Header参数
| 参数 | 示例值 | 是否必填 | 参数描述 |
| :-------- | :----- | :----- | :---- |
| secretKey | test | 必填 | 安全访问密钥 |##### 成功响应
```json
[
{
"Name": "mq:123.123.123.111:8011",
"Addr": "123.123.123.111",
"Port": "8011"
},
{
"Name": "mq:123.123.123.222:8011",
"Addr": "123.123.123.222",
"Port": "8011"
}
]
```***
### 配置说明
##### KapokMQ消息队列配置: ./kapokmq/application.yaml
##### Serena注册中心配置: ./serena/application.yaml