给点建议!开源项目架构选择!仿腾讯IM后端项目!InChat!

希望各位猿类给点建议或者提一些新的方案思路!

前言

小弟无心插柳的聊天项目InChat(一开始叫SBToNettyChat)在广大互联网朋友的积极推动下,慢慢步入正轨,目前2个月(一周4小时开发时间的速度····)迭代着,已经50Star,对于小弟也是很大的肯定,小弟今年7月开始在GitHub做开源,对于开源还不太了解,不过想借助这个InChat项目正式开启开源之路

项目地址:https://github.com/UncleCatMy...

图片描述

项目的核心目标也做了转变,目前的大方向就是仿造腾讯IM服务端,以接口的形式提供给中小型团队做IM服务。项目核心是基于Netty改造的。

项目中还添加了Iot的物联网通信功能,这个不是本文重点就略过。

问题环境

项目预想环境:在用户量极大的情况下,将InChat配置为多台服务器,集群的环境,则可能存在用户连接实例在不同的服务器上,则需要如何将Server-One的用户A 发的消息发给 Server-Two的用户B,单台服务器下的点对点发送是简单的,但是跨服务器的话,连接实例只能存放在本服务器中。

猜想一

图片描述

这种是用到了分发器的思路

集群环境下多个用户在不同服务器登陆后,会将所用用户的登陆信息与服务器位置统一存放到Redis中,前端通过API调用,json格式A发送给B message时,由分发器去查询Redis中B的服务器是one还是two,然后向其中发送message

猜想二

图片描述

使用消息队列,处理直接放到每台InChat中

接口服务器只负责生产投递消息

交流与问题

以上两种是我想到的方式,是否还有更好的形式,我会后期整理更新到项目中(开一个新的分支)

项目QQ群交流:628793702


图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值