【发布时间】:2015-08-08 03:39:10
【问题描述】:
我在 Heroku 中部署了一个 Java Web 应用程序。
现在,我想更改后端,以便它可以通知连接的用户有关特定事件。我认为我可以使用服务器发送的事件来做到这一点,我认为它的工作方式如下:
- 当用户打开前端时,它会为服务器发送的事件建立连接。
- 当后端收到这样的请求时,它会创建这样的连接(基本上是
EventOutput)并将其与用户 ID 一起存储在某个地方(比如内存中的Map)。 - 当有新事件出现时,后端会找到需要通知的用户,根据他的 ID 检索他的连接并发送通知。
当您只有一台机器处理请求时,这很好用。
当我想扩展我的应用程序并引入更多机器时,我的问题就开始了。然后,我不能再将这些连接真正存储在一台机器的内存中,我需要使用一些集中的位置。但是集中位置需要对连接进行序列化/反序列化,这意味着它不再是同一个连接了!
你通常是怎么做这样的事情的?
【问题讨论】:
标签: java heroku scalability server-sent-events