Skip to content

Commit 52e1cba

Browse files
authored
Merge pull request #175 from DrmagicE/update-project-state
update project state
2 parents fc1d12c + 0a8eaaa commit 52e1cba

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

README.md

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
[中文文档](https://github.com/DrmagicE/gmqtt/blob/master/README_ZH.md)
2-
# Gmqtt [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) [![Gitter](https://badges.gitter.im/gmqtt/community.svg)](https://gitter.im/gmqtt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) ![Build Status](https://github.com/DrmagicE/gmqtt/actions/workflows/test.yml/badge.svg) [![codecov](https://codecov.io/gh/DrmagicE/gmqtt/branch/master/graph/badge.svg)](https://codecov.io/gh/DrmagicE/gmqtt) [![Go Report Card](https://goreportcard.com/badge/github.com/DrmagicE/gmqtt)](https://goreportcard.com/report/github.com/DrmagicE/gmqtt)
2+
# Gmqtt [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) ![Build Status](https://github.com/DrmagicE/gmqtt/actions/workflows/test.yml/badge.svg) [![codecov](https://codecov.io/gh/DrmagicE/gmqtt/branch/master/graph/badge.svg)](https://codecov.io/gh/DrmagicE/gmqtt) [![Go Report Card](https://goreportcard.com/badge/github.com/DrmagicE/gmqtt)](https://goreportcard.com/report/github.com/DrmagicE/gmqtt)
3+
4+
# Project state
5+
This project is less maintained due to personal reasons. Here are some information for people who want to use this project.
6+
7+
Gmqtt was used in production and worked well. The production environment was serving hundreds of clients(or maybe thousands or 10 thousands now), and
8+
each client published QoS 1 message to report their state every 15 seconds. The subscribers on the cloud would store those state into persist backend.
9+
All clients were non-persistent session and using v3.1.1 protocol.
10+
11+
It is suggested to evaluate and test carefully before running in your production environment.
312

413

514
# Features
@@ -12,7 +21,7 @@ See `Server` interface in `server/server.go` and [admin](https://github.com/Drma
1221
* Provide GRPC and REST APIs to interact with server. (plugin:[admin](https://github.com/DrmagicE/gmqtt/blob/master/plugin/admin/README.md))
1322
* Provide session persistence which means the broker can retrieve the session data after restart.
1423
Currently, only redis backend is supported.
15-
* Provide clustering, see [federation plugin](./plugin/federation/README.md) for examples and details.
24+
* Provide clustering, see [federation plugin](./plugin/federation/README.md) for examples and details. (WARNING: This is an experimental feature, and has never been used in production environment.)
1625

1726

1827
# Get Started

README_ZH.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
# Gmqtt [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) [![Gitter](https://badges.gitter.im/gmqtt/community.svg)](https://gitter.im/gmqtt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) ![Build Status](https://github.com/DrmagicE/gmqtt/actions/workflows/test.yml/badge.svg) [![codecov](https://codecov.io/gh/DrmagicE/gmqtt/branch/master/graph/badge.svg)](https://codecov.io/gh/DrmagicE/gmqtt) [![Go Report Card](https://goreportcard.com/badge/github.com/DrmagicE/gmqtt)](https://goreportcard.com/report/github.com/DrmagicE/gmqtt)
22

3-
43
Gmqtt是用Go语言实现的一个具备灵活灵活扩展能力,高性能的MQTT broker,其完整实现了MQTT V3.x和V5协议。
54

5+
# 项目现状
6+
由于个人原因,该项目较少维护。以下是一些提供给想使用此项目的人的信息。
7+
Gmqtt已用于生产,效果良好。生产环境服务于大约数百个客户(现在可能是数千个或10000个),并且每个客户端以15s一次的频率发布QoS 1消息来报告其状态。
8+
云上的订阅者会将这些状态存储到持久后端。
9+
所有客户端都是非持久会话,使用v3.1.1协议。
10+
611
# 更多资料
712
[Gmqtt插件机制详解](https://juejin.cn/post/6908305981923409934)
813
[Gmqtt——Go语言实现的MQTT broker](https://juejin.cn/post/6905898448743038990)
@@ -15,7 +20,7 @@ Gmqtt是用Go语言实现的一个具备灵活灵活扩展能力,高性能的M
1520
* 提供监控指标,支持prometheus。 (plugin: [prometheus](https://github.com/DrmagicE/Gmqtt/blob/master/plugin/prometheus/READEME.md))
1621
* GRPC和REST API 支持. (plugin:[admin](https://github.com/DrmagicE/Gmqtt/blob/master/plugin/admin/READEME.md))
1722
* 支持session持久化,broker重启消息不丢失,目前支持redis持久化。
18-
* 支持集群, 示例和详情请参考[federation plugin](./plugin/federation/README.md)
23+
* 支持集群, 示例和详情请参考[federation plugin](./plugin/federation/README.md)(注意: 这项特性并没有在生产环境中验证过)
1924

2025
# 开始
2126
我们需要通过源码编译的方式启动,请确保您所在的机器上已经具备Go环境。

plugin/federation/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Federation
2+
**WARNING: This is an experimental feature, and has never been used in production environment.**
23

34
Federation is a kind of clustering mechanism which provides high-availability and horizontal scaling.
45
In Federation mode, multiple gmqtt brokers can be grouped together and "act as one".

0 commit comments

Comments
 (0)