2016-06-28 8 views
1

ich entwickle eine anwendung in mehrere micro-dienste gebrochen. Im Moment habe ich nur 1 Server und 3 Micro-Dienste, jeweils in einem anderen jvm-Prozess.haselnuss cluster 2 nodes gleiche maschine

Ich möchte sie in einem hazelcast-Cluster konfigurieren, damit ich die ReplicatedMap verwenden kann, um einige Informationen über die Prozesse zu teilen.

meine Frage ist: Wie konfiguriere ich die hazelcast-XML, so dass meine 3 Prozesse können den Cluster auf dem gleichen Rechner beitreten, und eine ReplicatedMap teilen?

ist was ich will? sieht es so aus, als ob ein Cluster nur über mehrere Server hinweg gemountet werden kann.

Hinweis: Mein Server ist ein AWS EC2-Server und daher möchte ich Multicast vermeiden.

Antwort

1

Ja, das ist der beste Anwendungsfall von Hazelcast. Sie können die IMap verwenden, die verteilte Zuordnung für die gemeinsame Nutzung der Daten über die Knoten.
Fügen Sie dem Join-Modul Ihrer Hazelcast.xml die folgende Konfiguration hinzu und starten Sie Ihre Instanzen. Sie werden sich selbst entdecken und einen Cluster bilden.

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

Die Tag-Schlüssel & tag-Wert Eigenschaften sind, was zusammen für den Beitritt verantwortlich wäre, und die Cluster-Bildung.