我正在开发一个分解为多个微服务的应用程序。现在,我只有一台服务器,并且运行了3个微服务,每个服务器都在不同的jvm进程中。
我想在hazelcast集群中配置它们,以便我可以使用ReplicatedMap在各个进程之间共享一些信息。
我的问题是:我如何配置hazelcast xml,以便我的3个进程可以在同一台机器上加入集群,并共享一个ReplicatedMap?
是我想要的吗? 看起来集群只能跨多个服务器安装。
注意:我的服务器是AWS EC2服务器,所以我想避免使用多播。
答案 0 :(得分:1)
是的,这是Hazelcast的最佳用例。您可以使用IMap(分布式映射)在节点之间共享数据 只需将以下配置添加到Hazelcast.xml的join模块中,然后启动实例即可。他们将自己发现并组成一个集群。
<join>
<multicast enabled="false">
</multicast>
<tcp-ip enabled="false">
</tcp-ip>
<aws enabled="true">
<access-key>my-access-key</access-key>
<secret-key>my-secret-key</secret-key>
<iam-role>s3access</iam-role>
<region>us-west-1</region>
<host-header>ec2.amazonaws.com</host-header>
<security-group-name>hazelcast-sg</security-group-name>
<tag-key>type</tag-key>
<tag-value>hz-nodes</tag-value>
</aws>
</join>
标签键&amp;标签值属性是连接在一起并形成集群的负责人。