hazelcast в docker swarm

Thank you for reading this post, don't forget to subscribe!

Hazelcast IMDG пред­став­ля­ет собой In-Memory Data Grid реше­ние с откры­тым исход­ным кодом на осно­ве Java. Hazelcast — так­же назва­ние ком­па­нии, раз­ра­ба­ты­ва­ю­щей продукт.

Hazelcast IMDG рабо­та­ет как вычис­ли­тель­ная плат­фор­ма, кото­рая управ­ля­ет дан­ны­ми в опе­ра­ци­он­ной памя­ти и орга­ни­зу­ет обра­бот­ку в парал­лель­ном испол­не­нии для дости­же­ния наи­боль­шей ско­ро­сти и лёг­ко­сти масштабирования.

Запу­стим её на 2х нодах.
Обра­за долж­ны быть доступ­ны со всех нод.
Име­ет­ся Dockerfile:

cat Dockerfile
FROM hazelcast/hazelcast:latest
# Adding custom hazelcast.xml
ADD hazelcast.xml /opt/hazelcast
ENV JAVA_OPTS -Dhazelcast.config=/opt/hazelcast/hazelcast.xml

кон­фиг hazelcast.xml
в него мы доба­ви­ли мини­маль­ный набор, а имен­но тач­ки на кото­рых будет запу­щен hazelcast. Отме­тим, что он исполь­зу­ет хосто­вую сеть, так как не уме­ет рабо­тать в доке­ров­ской, а service discovery при­кру­тить не удалось

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

соби­ра­ем образ:
docker build -t hazelcastimage

выка­чи­ва­ем образ менеджера
docker pull hazelcast/management-center

пере­те­ги­ру­ем его
docker tag hazelcast/management-center hazelcast-manager

сам стек выгля­дит сле­ду­ю­щим образом:
hazelcast.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

запус­ка­ем:
docker stack deploy -c hazelcast.yml hazelcast

как стар­та­нёт, проверяем:
http://hazelcast-manager.test.ru/hazelcast-mancenter