我有一个使用Oracle AQ处理信息的应用程序。消息是基于数据库中的记录创建的。应用程序加载要处理的消息,并将它们安排在内存中以供日后使用。该应用程序是聚集的,因此我遇到了三个问题:
似乎像Hazelcast这样的分布式缓存可能不是一个好主意,因为性能很重要并且涉及很多消息(尤其是第二个问题)。
我的问题是:
a)我找不到任何开箱即用的解决方案来解决我的问题,似乎我需要自定义负载均衡器? b)如果是这样,负载均衡器应该如何知道节点,我是否使用另一个Oracle AQ队列进行通信或类似Hazelcast?
答案 0 :(得分:0)
不完全确定我收到了你的问题,但我会尝试回答。
1)你在价值中谈论什么样的变量?您可能希望查看ValueExtractor(http://docs.hazelcast.org/docs/3.7/manual/html-single/index.html#implementing-a-valueextractor)和数据关联(http://docs.hazelcast.org/docs/3.7/manual/html-single/index.html#data-affinity)以确保相同的"变量"留在同一个节点。
2)抱歉,但我并没有真正得到这个要求。可能你只是不想重新加载"价值已经在记忆中?那将是默认行为。
3)从3.8开始,Hazelcast中有一个DurableExecutorService(http://docs.hazelcast.org/docs/latest-dev/manual/html-single/index.html#durable-executor-service),它将为您处理故障转移。 3.8刚刚发布为早期访问。
如果有任何问题被误解或您有其他问题,请告诉我。