学习目标:
- 了解什么是即时通信
- 了解探花交友的消息功能
- 了解即时通信的技术方案
- 了解环信的即时通讯
- 实现环信的用户体系集成
- 实现添加联系人、联系人列表功能
- 实现公告列表
1、即时通信
1.1、什么是即时通信?
1.2、功能说明
在探花交友项目中也提供了类似微信的聊天功能,用户可以和好友或陌生人聊天。
如果是陌生人,通过《聊一下》功能进行打招呼,如果对方同意后,就成为了好友,可以进行聊天了。
陌生人之间如果相互喜欢,那么就会成为好友,也就可以聊天了。
在消息界面中也可以查看:点赞、评论、喜欢、公告等消息信息。
实现效果,如下图:
2、技术方案
对于高并发的即时通讯实现,还是很有挑战的,所需要考虑的点非常多,除了要实现功能,还要考虑并发、流量、负载、服务器、容灾等等。虽然有难度也并不是高不可攀。
对于现实即时通讯往往有两种方案:
方案一: 自主实现,从设计到架构,再到实现。
技术方面可以采用:Netty + WebSocket + RocketMQ + MongoDB + Redis + ZooKeeper + MySQL
方案二: 对接第三方服务完成。
这种方式简单,只需要按照第三方的api进行对接就可以了。 如:环信、网易、容联云通讯等。
如何选择呢?
如果是中大型企业做项目可以选择自主研发,如果是中小型企业研发中小型的项目,选择第二种方案即 可。
方案一需要有大量的人力、物力的支持,开发周期长,成本高,但可控性强。
方案二,成本低,开发周期短,能够快速的集成起来进行功能的开发,只是在可控性方面来说就差了一些。
探花交友项目选择方案二进行实现。
3、环信
稳定健壮,消息必达,亿级并发的即时通讯云
平台架构
对接环信...
4、发送消息给客户端
目前已经完成了用户体系的对接,下面我们进行测试发送消息,场景是这样的:
点击“聊一下”,就会给对方发送一条陌生人信息,这个消息由系统发送完成
这种方式简单,只需要按照第三方的api进行对接就可以了。 如:环信、网易、容联云通讯等。
成本低,开发周期短,能够快速的集成起来进行功能的开发,只是在可控性方面来说就差了一些。