java - 集群配置中的共享内存java

标签 java spring-boot websphere

我的系统是与Messenger集成的聊天机器人,我将升级到集群而不是一台机器,所以我将面临一个问题,当用户开始对话时,将在机器内存中创建一条记录,任何进一步的消息都需要转发到同一台机器,因为机器之间不共享内存。我可以创建在机器之间共享的数据库,但由于性能原因,此解决方案 Not Acceptable 。 有什么建议吗?我使用 ibm websphere 服务器。 我的问题是,我可以在机器之间创建共享内存吗?

最佳答案

作为共享高性能内存选项,您可以使用 Redis/Memcache。可能会有一点网络延迟。但是,如果您的服务器与 Redis 的连接持久,则此网络延迟可能可以忽略不计

如果您想将数据与共享内存状态一起保存在服务器本地内存中,您可以使用 RedisPub-Sub,因此在此设置中,每个服务器中的实例将在本地维护数据,并将其发布到共享Redis服务器,所有服务器实例也将订阅到所需的 channel 在Redis上,以便他们可以与其他服务器实时同步数据。这样您就不必在性能上妥协,并且还可以确保每个服务器实例几乎实时拥有最新的数据。

关于java - 集群配置中的共享内存java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59910099/

相关文章:

java - 来自 Java 插件的 Gradle 任务测试的 JVM 分支选项

Java 图形 JApplet

java - 在 Spring Boot Hibernate for Postgres 中为特定时区设置 UpdatedTimeStamp

java - Gradle构建找不到方法ResponseEntity.of(object)

java - 推送通知时 MPNS 错误请求 (WP 8.1)

java 卡住我的计算机并需要硬重启

java - 如何使用 Mockito 在 Spring Boot 中模拟异步(@Async)方法?

java - 为什么我们需要 ibm-web-bnd.xml 和 ibm-web-ext.xml?

java - WAS9 服务器中的 org.apache.cxf.bus.extension.ExtensionException

hibernate - 带有 JPA 2.1 的 Websphere 8.5