将 IM 聊天服务器集成到现有的 Spring 服务器

将 IM 聊天服务器集成到现有的 Spring 服务器

我正在尝试将 openFire XMPP 服务器集成到我目前公司的 Spring 服务器中,但有两个主要问题我找不到答案 -

我将首先从我当前的架构开始 -
1. xmpp 服务器有自己的 DB 服务器,与 Spring 服务器 DB 分开,这是一台专用于保存用户角色历史记录等的机器
2. spring 服务器有自己的 DB,用于保存用户凭据(md5 加密)以及客户端应用程序数据
3. spring 服务器专用于处理 HTTP 请求(专用的 REST 服务器)

总而言之,我有 2 个数据库服务器、一个聊天服务器和一个 Rest 服务器

现在的问题是 -
1. 我可以禁止注册到 xmpp 服务器吗(即,将 rest 服务器 ip 列入白名单,并让它成为用户在其上注册后唯一可以创建用户的人)?
2. 出于安全原因,Rest 服务器每 2 天切换一次登录用户的会话,iOS 和 Android 客户端在本地处理会话管理 - 我如何将这些会话与 XMPP 服务器一起使用?
澄清一下 - 我希望用户能够仅将 xmpp 服务器用于聊天目的,但只能在他们登录到应用程序本身后才能使用,因为用户会话可能会过期,聊天客户端还必须重新对 REST 服务器进行身份验证,我该如何实现?
3. 这不会造成 REST 服务器过载吗?(即,Rest 服务器现在必须处理客户端请求以及 XMPP 服务器请求)
4. 实现这种系统的最佳架构是什么(聊天服务器、聊天服务器的数据库服务器、rest 服务器、rest 服务器的数据库服务器),以便系统可以水平扩展?

我在谷歌上搜索了一篇文章或一些相关的内容来描述一般的架构,但没有找到任何相关的内容,因为我不是在“发明轮子”,所以我很想听听一个好的建议,或者直接找到一篇解释操作方法的文章

提前致谢。

相关内容