Infinispan Server Cluster - 定义成员IP地址

问题描述 投票:0回答:1

我尝试用Infinispan Server替换我们的memcached服务器,以获得我们服务的复制/分发功能。

使用clustered-memcached.xml示例配置我可以在多个主机上轻松运行Infinispan服务器,但问题是自动发现/多播功能将在整个网络上找到所有Infinispan Server实例,这意味着它将加入我们所有的阶段(测试,qa,生产)一起到一个集群......这显然不是任何人想要的。

有没有一个例子说明我如何通过IP /端口定义集群成员而没有任何UDP多播发现魔法?该文档没有关于隔离集群的内容......并且通常缺少有用的xml示例。

infinispan
1个回答
1
投票

您需要做的是配置initial_hosts添加什么是IP地址。在这个例子中,我们使用的是192.168.1.2[7600],192.168.1.3[7600]

以下是部分堆栈配置

    <stack name="tcp">
        <transport type="TCP" socket-binding="jgroups-tcp"/>
        <protocol type="TCPPING">
            <property name="initial_hosts">192.168.1.2[7600],192.168.1.3[7600]</property>
            <property name="num_initial_members">2</property>
            <property name="port_range">0</property>
            <property name="timeout">2000</property>
        </protocol>
        .......
    </stack>

一旦配置了initial_hosts,就需要在服务器启动时更改stacks

1)你可以用${jboss.default.jgroups.stack:udp}替换tcp

要么

2)使用./standalone.sh -c clustered.xml -Djboss.default.jgroups.stack=tcp启动服务器

<subsystem xmlns="urn:infinispan:server:jgroups:9.4">
  <channels default="cluster">
    <channel name="cluster"/>
  </channels>
  <stacks default="${jboss.default.jgroups.stack:udp}">
    ...
  </stacks>
</subsystem>
© www.soinside.com 2019 - 2024. All rights reserved.