2016-06-28 82 views
1

我正在開發一個應用程序分解成多個微服務。目前,我只有1個服務器和3個微服務,每個微服務都在不同的jvm進程中運行。hazelcast集羣2節點同一臺機器

我想將它們配置在一個hazelcast集羣中,這樣我就可以使用ReplicatedMap在整個進程間共享一些信息。

我的問題是:如何配置hazelcast xml,以便我的3個進程可以加入同一臺機器上的集羣,並共享一個ReplicatedMap?

是我想要的嗎? 它看起來像一個羣集只能安裝在多個服務器上。

注意:我的服務器是AWS EC2服務器,所以我想避免使用多播。

回答

1

是的,這是Hazelcast的最佳使用案例。您可以使用IMap(分佈式映射)來跨節點共享數據。
只需將以下配置添加到Hazelcast.xml的加入模塊中並啓動您的實例即可。他們會彼此發現並形成一個集羣。

<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> 

標籤鍵&標籤值的屬性是什麼將負責結合在一起,並形成集羣。

相關問題