我的同事和我想建立一个聊天应用程序(ReactJS< - > NodeJS),我们一直在寻找最好的框架。 FeathersJS无疑是最稳定,功能最丰富的socket.io包装器。
但是,由于我们希望允许我们的应用程序扩展,我们决定将此聊天功能拆分为与主节点后端不同的节点进程。
聊天功能仍然需要身份验证和授权,我们希望避免重复两种服务的身份验证。因此,我们作为解决方案提供的是使用会话cookie查询主节点后端,以便在让用户使用聊天服务之前对用户进行身份验证。
FeathersJS是否建立了持久的套接字连接,或者是否会为发送/接收的每条消息建立套接字连接?在第一种情况下我们可以继续使用我们的架构,而在第二种情况下我们可以继续由于主要后端产生的高负荷,必须进行检查。
谢谢!
答案 0 :(得分:4)
分解服务的方法有多种,各有各的优缺点。 Feathers的一个重要的事情是没有会话,只有JSON web tokens。 JWT是无状态的,可以被任何共享相同秘密的服务器读取,因此不必是中央会话存储。我能想到的两个主要选择是: