|
@@ -10,7 +10,7 @@
|
|
|
1. 支持单人、多人音视频通话(基于原生webrtc实现,需要ssl证书)
|
|
1. 支持单人、多人音视频通话(基于原生webrtc实现,需要ssl证书)
|
|
|
1. uniapp端兼容app、h5、微信小程序,可与web端同时在线,并保持消息同步
|
|
1. uniapp端兼容app、h5、微信小程序,可与web端同时在线,并保持消息同步
|
|
|
1. 后端采用springboot+netty实现,网页端使用vue,移动端使用uniapp
|
|
1. 后端采用springboot+netty实现,网页端使用vue,移动端使用uniapp
|
|
|
-1. 服务器支持集群化部署,每个im-server仅处理自身连接用户的消息
|
|
|
|
|
|
|
+1. 服务器支持集群化部署,具有良好的横向扩展能力
|
|
|
|
|
|
|
|
|
|
|
|
|
详细文档:https://www.yuque.com/u1475064/mufu2a
|
|
详细文档:https://www.yuque.com/u1475064/mufu2a
|
|
@@ -60,9 +60,9 @@ https://www.yuque.com/u1475064/imk5n2/qtezcg32q1d0dr29#SbvXq
|
|
|
| im-uniapp | uniapp页面,可打包成app、h5、微信小程序 |
|
|
| im-uniapp | uniapp页面,可打包成app、h5、微信小程序 |
|
|
|
|
|
|
|
|
#### 消息推送方案
|
|
#### 消息推送方案
|
|
|
|
|
+当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们设计出了能够支持跨节点推送的方案:
|
|
|

|
|

|
|
|
|
|
|
|
|
-- 当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们需要设计出能够支持跨节点推送的方案
|
|
|
|
|
- 利用了redis的list数据实现消息推送,其中key为im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue
|
|
- 利用了redis的list数据实现消息推送,其中key为im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue
|
|
|
- redis记录了每个用户的websocket连接的是哪个im-server,当用户发送消息时,im-platform将根据所连接的im-server的id,决定将消息推向哪个queue
|
|
- redis记录了每个用户的websocket连接的是哪个im-server,当用户发送消息时,im-platform将根据所连接的im-server的id,决定将消息推向哪个queue
|
|
|
|
|
|
|
@@ -102,7 +102,7 @@ https://www.yuque.com/u1475064/mufu2a/vn5u10ephxh9sau8
|
|
|
|
|
|
|
|
#### 界面截图
|
|
#### 界面截图
|
|
|
私聊:
|
|
私聊:
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
群聊:
|
|
群聊:
|
|
|

|
|

|