作者 crossoverJie

:memo: Writing docs.

@@ -24,7 +24,8 @@ @@ -24,7 +24,8 @@
24 - 适用于 `APP` 的消息推送中间件。 24 - 适用于 `APP` 的消息推送中间件。
25 - `IOT` 海量连接场景中的消息透传中间件。 25 - `IOT` 海量连接场景中的消息透传中间件。
26 26
27 -> 老版本已经归档到[这里](https://github.com/crossoverJie/cim/releases/tag/archive-20181227)。 27 +> 点击下图可以查看视频版 Demo。
  28 +
28 29
29 ### cim-server 30 ### cim-server
30 31
@@ -49,6 +50,7 @@ @@ -49,6 +50,7 @@
49 * [x] 内置命令。 50 * [x] 内置命令。
50 * [x] 使用 `Google Protocol Buffer` 高效编解码。 51 * [x] 使用 `Google Protocol Buffer` 高效编解码。
51 * [x] 根据实际情况灵活的水平扩容、缩容。 52 * [x] 根据实际情况灵活的水平扩容、缩容。
  53 +* [x] 路由(`cim-forward-route`)服务器自身是无状态,可用 `Nginx` 代理支持高可用。
52 * [ ] 协议支持消息加密。 54 * [ ] 协议支持消息加密。
53 * [ ] 弱网情况下客户端自动上线。 55 * [ ] 弱网情况下客户端自动上线。
54 * [ ] 更多的客户端路由策略。 56 * [ ] 更多的客户端路由策略。
@@ -74,6 +76,62 @@ @@ -74,6 +76,62 @@
74 - 客户端下线时通过 `route` 清除状态信息。 76 - 客户端下线时通过 `route` 清除状态信息。
75 77
76 78
  79 +## 快速启动
  80 +
  81 +首先需要安装 `Zookeeper、Redis` 并保证网络通畅。
  82 +
  83 +```shell
  84 +git clone https://github.com/crossoverJie/cim.git
  85 +cd cim
  86 +mvn -Dmaven.test.skip=true clean package
  87 +```
  88 +
  89 +### 部署 IM-server(cim-server)
  90 +
  91 +```shell
  92 +cp /cim/cim-server/target/cim-server-1.0.0-SNAPSHOT.jar /xx/work/server0/
  93 +cd /xx/work/server0/
  94 +nohup java -jar /root/work/server/cim-server-1.0.0-SNAPSHOT.jar --cim.server.port=9000 --app.zk.addr=zk地址 > /root/work/server/log.file 2>&1 &
  95 +```
  96 +
  97 +> cim-server 集群部署同理,只要保证 Zookeeper 地址相同即可。
  98 +
  99 +### 部署路由服务器(cim-forward-route)
  100 +
  101 +```shell
  102 +cp /cim/cim-server/cim-forward-route/target/cim-forward-route-1.0.0-SNAPSHOT.jar /xx/work/route0/
  103 +cd /xx/work/route0/
  104 +nohup java -jar /root/work/route/cim-forward-route-1.0.0-SNAPSHOT.jar --app.zk.addr=zk地址 --spring.redis.host=redis地址 > /root/work/route/log.file 2>&1 &
  105 +```
  106 +
  107 +> cim-forward-route 本身就是无状态,可以部署多台;使用 Nginx 代理即可。
  108 +
  109 +
  110 +### 启动客户端
  111 +
  112 +```shell
  113 +cp /cim/cim-client/target/cim-client-1.0.0-SNAPSHOT.jar /xx/work/route0/
  114 +cd /xx/work/route0/
  115 +java -jar cim-client-1.0.0-SNAPSHOT.jar --server.port=8084 --cim.user.id=唯一客户端ID --cim.user.userName=用户名 --cim.group.route.request.url=http://路由服务器:8083/groupRoute --cim.server.route.request.url=http://路由服务器:8083/login
  116 +```
  117 +
  118 +![](https://ws2.sinaimg.cn/large/006tNbRwly1fylgxjgshfj31vo04m7p9.jpg)
  119 +![](https://ws1.sinaimg.cn/large/006tNbRwly1fylgxu0x4uj31hy04q75z.jpg)
  120 +
  121 +如上图,启动两个客户端可以互相通信即可。
  122 +
  123 +
  124 +
  125 +## 客户端内置命令
  126 +
  127 +| 命令 | 描述|
  128 +| ------ | ------ |
  129 +| `:q` | 退出客户端|
  130 +| `:olu` | 获取所有在线用户信息 |
  131 +| `:all` | 获取所有命令 |
  132 +| `:` | 更多命令真正开发中。。 |
  133 +
  134 +![](https://ws3.sinaimg.cn/large/006tNbRwly1fylh7bdlo6g30go01shdt.gif)
77 135
78 # 联系作者 136 # 联系作者
79 - [crossoverJie@gmail.com](mailto:crossoverJie@gmail.com) 137 - [crossoverJie@gmail.com](mailto:crossoverJie@gmail.com)