Menu

Cluster

heisedebaise

本文主要介绍如何配置、使用Wormhole集群。


配置Servlet

Wormhole为J2EE环境提供了一个servlet包,该jar包中包含一个远程缓存服务。将相应的wormhole-servlet-*-.jar添加到/WEB-INF/lib下,并在web.xml中添加如下代码:
    <servlet>
        <servlet-name>RemoteCacheServlet</servlet-name>
        <servlet-class>org.lpw.wormhole.servlet.RemoteCacheServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>RemoteCacheServlet</servlet-name>
        <url-pattern>/wormhole/cache/remote</url-pattern>
    </servlet-mapping>
    
    <servlet>
        <servlet-name>RemoteQueueServlet</servlet-name>
        <servlet-class>org.lpw.wormhole.servlet.RemoteQueueServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>RemoteCacheServlet</servlet-name>
        <url-pattern>/wormhole/queue/remote</url-pattern>
    </servlet-mapping>


配置Wormhole缓存

假设您有a、b、c三个个Wormhole缓存节点,其远程服务的访问地址分别为:

则在a节点的wormhole.config.properties中配置b、c节点的远程服务地址:

wormhole.cache.remotes = http://wormhole-b:port/wormhole/cache/remote,http://wormhole-c:port/wormhole/cache/remote

而在b节点中配置a、c节点的远程服务地址:

wormhole.cache.remotes = http://wormhole-a:port/wormhole/cache/remote,http://wormhole-c:port/wormhole/cache/remote

最后在c节点中配置a、b节点的远程服务地址:

wormhole.cache.remotes = http://wormhole-a:port/wormhole/cache/remote,http://wormhole-b:port/wormhole/cache/remote

配置完成后,a-b-c节点即构成了一个缓存集群,任一节点的缓存发生变更时,其它节点也将快速变更。


配置Wormhole队列

假设您有a、b、c三个个Wormhole队列节点,其远程服务的访问地址分别为:

则在a节点的wormhole.config.properties中配置b、c节点的远程服务地址:

wormhole.queue.remotes = http://wormhole-b:port/wormhole/queue/remote,http://wormhole-c:port/wormhole/queue/remote

而在b节点中配置a、c节点的远程服务地址:

wormhole.queue.remotes = http://wormhole-a:port/wormhole/queue/remote,http://wormhole-c:port/wormhole/queue/remote

最后在c节点中配置a、b节点的远程服务地址:

wormhole.queue.remotes = http://wormhole-a:port/wormhole/queue/remote,http://wormhole-b:port/wormhole/queue/remote

配置完成后,a-b-c节点即构成了一个队列集群,任一节点的队列收到push数据时,其他节点也将同步收到相同的push数据。