我应该使用Coherence独立服务器吗?一个java webservice使用缓存数据?

时间:2015-08-10 12:30:45

标签: oracle-coherence

我是oracle coherence的新手

基本上我们有一些数据,我们想要一些java / bpel webservice从coherence缓存而不是数据库中获取这些数据。 [我们计划将所有这些数据加载到缓存服务器]

因此,在开始此解决方案之前,我们有以下问题。

我们计划开始的Web服务将只是java会很好。 并且所有操作都是只读的。

问题 1.它是Coherence需要独立服务器吗? (从oracle下载并单独安装并运行默认的缓存服务器)?

2.如果我们计划使用代码从数据库预先加载数据到缓存服务器?我希望可能吗?任何指针都会有所帮助吗?

3.如果在不同的nmachine vs coherence服务器上运行的webservice运行,webservice如何与Coherence服务器连接? (要么) webservice和coherence是否必须在同一台机器上运行?

  1. 如果webservice可以在不同的机器上运行,那么webservice代码如何连接到coherence服务器(任何代码示例,url都会有帮助)?

  2. weblogic还有什么连贯性?它不适合我们假设的应用程序设计吗?!!!!那么我们采用什么类型的解决方案来实现weblogic的连贯性?

  3. 仅供参考:我们的目标很简单,我们希望将数据存储在缓存服务器中,并让我们的新Web服务从Cache servere而不是数据库中检索数据(因为v计划避免数据库访问)

2 个答案:

答案 0 :(得分:1)

嗯,你的问题非常开放,可能有1个以上的正确答案。我会尝试回答所有这些问题。 首先,请注意,Coherence不是免费工具,您必须支付许可费用。 现在,回答:

  1. 基本上,连贯性有两部分:代理和服务器。第一个是负责路由您的请求,第二个负责托管数据。你可以在同一个服务中同时运行,但这有利有弊。一个Con是你的服务将被加载,内存将在两种进程之间共享。专业人士可以非常简单地运行。
  2. 您可以预加载数据库中的所有数据。为此,您必须打开Coherence并编写自己的代码。为此,您需要定义自己的cachestore(在coherence docs中查找该关键字)并覆盖loadAll方法。
  3. 到目前为止,我记得Coherence和Weblogic在一起。这说明一个许可证是第二个许可证,它们来自同一产品。我不熟悉weblogic,但我认为是该软件包的服务。在任何情况下,要连接到一致性,您可以参考Configuring and Managing Coherence Clusters
  4. 如果您愿意,一致性服务可以在不同的机器,不同的网络甚至世界的不同地方运行。每个代理或服务器,消费者和数据库可以位于不同的网络中。一切都可以配置。您必须说明coherence代理所在的weblogic服务器,您将在coherence代理/服务器中设置它们的地址,并且您将配置您的一致性服务器以通过配置查找其数据库。在这里解释一切都有点复杂。
  5. 我想我以前回答过。 考虑到连贯性是一个非常强大的工具,但操作和故障排除非常复杂。考虑直接访问您的数据库的优缺点,并考虑您是否真的需要它。 如果您有具体问题,请不要犹豫。在这里解释一切都有点复杂,因为你正试图建立一个我见过的复杂系统。但非常好,我真的推荐它。
  6. 编辑:

    基本上Coherence由2个主要部分组成:代理和服务器。名称有点混乱,因为它们都是服务器,但代理服务于尝试执行缓存操作(CRUD)的客户端,而服务器"服务于代理人。代理负责接收所有请求,处理它们并根据它们的密钥将它们路由到保存数据的相应服务器,或者如果操作需要加载动作则由谁负责保存数据。因此,您的问题的答案是:是的,您的群集中至少需要一个活动的代理,否则您将无法正常运行。它可以在你的一台机器上运行到第三台机器上。建议为HA目的保留多个代理,代理也可以充当服务器(通过将localstorage标志设置为true)。我知道,有点复杂,我建议遵循oracle docs。

答案 1 :(得分:0)

基本上,有两种类型的Coherence安装。

1)独立安装(混合中没有WebLogic Server) 2)托管安装(混合使用Weblogic Server)

以上是

中的每一个的一些特征

独立安装(混合中没有WebLogic Server)

  • 下载Coherence安装包并安装(不依赖于现有的WebLogic或FMW安装)
  • 从命令行设置和配置Coherence服务器
  • 从命令行管理和维护Coherence服务器

托管安装(混合使用Weblogic Server)

  • 利用安装WebLogic或FMW时安装的现有Coherence安装
  • 设置和配置Managed Conherence Server以使用WebLogic服务器
  • 通过WebLogic控制台管理和维护托管Coherence服务器

请注意术语的主要区别, Coherence服务器(无WL依赖性)与托管Coherence服务器(具有WL依赖性)