【发布时间】:2025-11-24 14:10:01
【问题描述】:
我想这是不可能的。但我正在寻找最好的方法来分离我的服务的不同层,同时能够快速访问层或没有 IPC/RMI 开销。
我使用的主要编程语言是java,但如果需要也可以使用C++。
我们现在拥有的是一个托管数据库和访问控制的服务器。我们使用 RMI 供消费者请求数据。这很慢并且不能很好地扩展。
我们需要目前没有的性能和可扩展性。
我们正在考虑使用以数据库为基础的分层架构,在其上进行访问控制以及通知总线以通知客户端数据库的更改。 主要问题是我们希望避免/或最小化的通信开销。
是否有任何魔术线程可以在两个上下文(切换上下文)中运行并以这种方式共享信息。我知道简短的回答是否定的,但有哪些选择?
更新
- 我们目前正在使用 Java RMI。
我们的基础层将提供一个 API,可用于创建将在其上运行的插件。所以它不是我们拥有的固定收藏家/消费者。我们可以运行 5-6 个收集器和相同数量的消费者。
我们最多可以有 1000 个消费者。
【问题讨论】:
-
您需要支持多少个客户端会话?
-
大约1000名消费者
-
那不是很多。很难看出为什么标准解决方案是不够的。
-
当前的解决方案与我们所做的负载测试相比不能很好地扩展。
-
也许它需要调整。你用的是什么应用服务器?
标签: java database multithreading process communication