当前位置: 首页 > news >正文

天网网站建设5118数据分析平台

天网网站建设,5118数据分析平台,湖南长沙电信大楼着火,建设网上银行app下载安装架构说明: 1)CIM 中的各个组件均采用 SpringBoot 构建;2)采用 Netty Google Protocol Buffer 构建底层通信;3)Redis 存放各个客户端的路由信息、账号信息、在线状态等;4)Zookeeper …

架构说明:

    1)CIM 中的各个组件均采用 SpringBoot 构建;2)采用 Netty + Google Protocol Buffer 构建底层通信;3)Redis 存放各个客户端的路由信息、账号信息、在线状态等;4)Zookeeper 用于 IM-server 服务的注册与发现。

 

整体主要由以下模块组成:

    1)cim-server——IM 服务端:用于接收 client 连接、消息透传、消息推送等功能。支持集群部署;2)cim-forward-route——消息路由服务器:用于处理消息路由、消息转发、用户登录、用户下线以及一些运营工具(获取在线用户数等);3)cim-client——IM 客户端:给用户使用的消息终端,一个命令即可启动并向其他人发起通讯(群聊、私聊);同时内置了一些常用命令方便使用。

流程解释如下:

    1)客户端向 route 发起登录;2)登录成功从 Zookeeper 中选择可用 IM-server 返回给客户端,并保存登录、路由信息到 Redis;3)客户端向 IM-server 发起长连接,成功后保持心跳;4)客户端下线时通过 route 清除状态信息。

所以当我们自己部署时需要以下步骤:

    1)搭建基础中间件 Redis、Zookeeper;2)部署 cim-server,这是真正的 IM 服务器,为了满足性能需求所以支持水平扩展,只需要注册到同一个 Zookeeper 即可;3)部署 cim-forward-route,这是路由服务器,所有的消息都需要经过它。由于它是无状态的,所以也可以利用 Nginx 代理提高可用性;4)cim-client 真正面向用户的客户端;启动之后会自动连接 IM 服务器便可以在控制台收发消息了。

这里就设计的比较简单,直接利用 Redis 来存储用户信息;用户信息也只有 ID 和 userName 而已。只是为了方便查询在 Redis 中的 KV 又反过来存储了一份 VK,这样 ID 和 userName 都必须唯一。

 

具体的流程:

    1)登录成功之后需要判断是否是重复登录(一个用户只能运行一个客户端);2)登录成功后需要从 Zookeeper 中获取服务列表(cim-server)并根据某种算法选择一台服务返回给客户端;3)登录成功之后还需要保存路由信息,也就是当前用户分配的服务实例保存到 Redis 中。

为了实现只能一个用户登录,使用了 Redis 中的 set 来保存登录信息;利用 userID 作为 key ,重复的登录就会写入失败。

    1)先从 Zookeeper 获取所有的服务实例做一个内部缓存;2)轮询选择一台服务器(目前只有这一种算法,后续会新增)。即时通讯聊天软件app开发可以加小蓝豆的v:weikeyun24咨询即可

当然要获取 Zookeeper 中的服务实例前自然是需要监听 cim-server 之前注册上去的那个节点。

这是一个真正发消息的接口,实现的效果就是其中一个客户端发消息,其余所有客户端都能收到!流程肯定是客户端发送一条消息到服务端,服务端收到后在上文介绍的 SessionSocketHolder 中遍历所有 Channel(通道)然后下发消息即可。服务端是单机倒也可以,但现在是集群设计。所以所有的客户端会根据之前的轮询算法分配到不同的 cim-server 实例中。

由于 Redis 单线程的特质,当数据量大时;一旦使用 keys 匹配所有 cim-route:* 数据,会导致 Redis 不能处理其他请求。所以这里改为使用 scan 命令来遍历所有的 cim-route:*。

接着会挨个调用每个客户端所在的服务端的 HTTP 接口用于推送消息。

之所以说获取在线用户是一个辅助接口,其实就是用于辅助私聊使用的。一般我们使用私聊的前提肯定得知道当前哪些用户在线,接着你才会知道你要和谁进行私聊。

所以私聊接口在收到消息后需要查询到接收者所在的 cim-server 实例信息,后续的步骤就和群聊一致了。调用接收者所在实例的 HTTP 接口下发信息。只是群聊是遍历所有的在线用户,私聊只发送一个的区别。

http://www.tj-hxxt.cn/news/94211.html

相关文章:

  • 广东建设网 四川是什么网站seo标签优化
  • 美国做批发的网站有哪些百度登录
  • 网站劫持必须做系统嘛品牌营销策划公司
  • 无锡网站建设价格低seo在线优化平台
  • ps素材网站大全摘抄一则新闻
  • 做网站要多大空间面点培训学校哪里有
  • 做网站公司天津seo推广网址
  • 做外贸网站做网络销售如何找客户
  • 东昌府网站制作seo文章优化方法
  • 商丘网站制作软件灰色行业seo
  • 吴江市建设局网站成都百度推广开户公司
  • 开网上授课的网站应该怎么做bt种子搜索神器
  • 怎样选择高性价比的建站公司成人技术培训班有哪些种类
  • 深圳宝安区政府在线官网郑州网站优化外包
  • 买了域名怎么做网站免费网站收录网站推广
  • 网站建设的好处有什么用网络运营seo是什么
  • 全国企业注册官方网成都网站快速排名优化
  • wordpress怎么自动更新网站地图知乎关键词排名
  • 网站怎么做六个页面河北网站seo外包
  • 网站建设平台源码广告代理
  • 视频网站开发java公司企业网站模板
  • 酉阳网站制作友链申请
  • 人才招聘网站开发搜索引擎排名优化方法
  • 专业集团门户网站建设企业搜索引擎在线观看
  • 东莞网推广网站建设新手小白怎么做跨境电商
  • 网站动态效果怎么做超级推荐的关键词怎么优化
  • 政府门户网站建设情况汇报网络新闻发布平台发稿
  • 设计网站做多大合适企业营销
  • 江都建设招标网站深圳网络推广工资
  • 专业的常州做网站产品推广计划