Tomcat 聊天服务器负载平衡
我读过Apache中有关Tomcat服务器的文章,但我不知道这对通信有什么作用 比如说,我正在创建一个聊天应用程序,允许用户通过服务器相互交谈。如果两个用户在同一台服务器上,这很好,但是如果一个用户在一台服务器上,另一个在另一台服务器上呢?服务器如何通信 我想我的观点是,我将使用多个服务器来减少负载,但是如果用户通过服务器进行通信,并且每个用户都在一个单独的服务器上,那么我的两个服务器将成为彼此的客户机,并且负载不会减少Tomcat 聊天服务器负载平衡,tomcat,load-balancing,throttling,Tomcat,Load Balancing,Throttling,我读过Apache中有关Tomcat服务器的文章,但我不知道这对通信有什么作用 比如说,我正在创建一个聊天应用程序,允许用户通过服务器相互交谈。如果两个用户在同一台服务器上,这很好,但是如果一个用户在一台服务器上,另一个在另一台服务器上呢?服务器如何通信 我想我的观点是,我将使用多个服务器来减少负载,但是如果用户通过服务器进行通信,并且每个用户都在一个单独的服务器上,那么我的两个服务器将成为彼此的客户机,并且负载不会减少 我的观点是,进出每台服务器的数据量是相同的,那么当有100万用户时,这是如
我的观点是,进出每台服务器的数据量是相同的,那么当有100万用户时,这是如何工作的呢?您可以使用负载平衡器来实现所需的功能 基本上,服务器负载平衡器可以是:
- 传输级负载均衡器-基于DNS的方法或TCP/IP级负载平衡
- 应用程序级负载平衡器-使用应用程序负载做出负载平衡决策
- 跟踪收件人所在的服务器。使用另一种传输机制将消息发送到该服务器,以便将其推入内存,就像发送者是本地的一样。请参阅“消息队列”或“企业服务总线”
- 将消息处理与通信分离:为活动对话指定一个或多个服务器。让收件人服务器向这些服务器发送消息;使用通知机制(良好)或轮询(不太好)提醒收件人服务器有聊天消息等待发送。特点:使用分布式哈希表将邮件邮箱分发到服务器池;如果一台或多台服务器出现故障,DHT可以自动调整
- 使用广播:如果收件人不是本地的,则每个服务器向所有其他服务器广播。每个服务器接收通知;只有与收件人在一起的人才能对其进行任何操作
最明显的优化是支持一种机制,将具有活动会话的用户移动到同一台服务器,但这在大多数负载平衡机制中都不起作用。应该有一些方法来强制用户在特定服务器之间建立密切关系,但我想不出一个简单的方法。我也在搜索类似的内容。聊天服务器需要共享资源,像我们在网页上使用的负载平衡系统也帮不上忙。是否有聊天/状态服务器集群的框架?