[英]How do I handle communication between multiple Node.js servers for each user?
我正在嘗試讓用戶僅登錄一次,並將其信息保存在所有服務器上。 對用戶信息所做的任何更改將立即對所有服務器可用。 是否可以在不讓每個用戶分別“登錄”每個服務器的情況下執行此操作?
有點像$_SESSION
for php,但是對於Node.js
我認為最好的做法是,但不知道如何在服務器之間共享套接字數據,也許使用PHP的$_SESSION
類的東西?
我目前正在做什么:
socket.emit
到main.js 這似乎效率低下,感覺不對勁
如果您的信息主要是靜態的,則可以嘗試類似於JWT的方法 。 這些是身份驗證服務器可以提供的加密簽名令牌,用戶可以隨身攜帶。 該令牌可能包含有關您希望每個服務器都可用而無需用戶訪問它的用戶的信息。
如果不是這樣,則您可能正在考慮在所有服務器之間共享數據庫,並將其作為它們之間同步的點。
根據我們的評論進行的更新(以便以后可以將其刪除):
如果您決定使用自動包含的JWT令牌,則根本不需要去數據庫。 這些令牌將包含所需的所有信息,但對於不了解其內容的最終用戶而言將是透明的。
此外,一旦您了解了JWT標准,就不必使用JSON對象,因為它只是可以由另一種切換的序列化方法。
您需要在身份驗證時(或在需要時)向用戶提供這些令牌之一,然后要求該用戶在從其他服務器請求信息或行為時向其他服務器提供該令牌。 令牌將成為您的同步方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.