問題現象
用戶下訂單後要出貨,但系統竟然發動了兩次一模一樣的取號 Job,導致:
資料庫技術,包含 Kafka、PostgreSQL、SOLR、Elasticsearch 等
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -v es_data:/usr/share/elasticsearch/data elasticsearch:8.17.0
version: '3'
services:
elasticsearch-node1:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
environment:
- discovery.type=zen-disco
- discovery.seed_hosts=elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
- cluster.initial_master_nodes=elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
- xpack.security.enabled=false
volumes:
- es_data1:/usr/share/elasticsearch/data
networks:
- elasticsearch-net
ports:
- "9200:9200"
- "9300:9300"
elasticsearch-node2:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
environment:
- discovery.type=zen-disco
- discovery.seed_hosts=elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
- cluster.initial_master_nodes=elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
- xpack.security.enabled=false
volumes:
- es_data2:/usr/share/elasticsearch/data
networks:
- elasticsearch-net
ports:
- "9201:9200"
- "9301:9300"
elasticsearch-node3:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
environment:
- discovery.type=zen-disco
- discovery.seed_hosts=elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
- cluster.initial_master_nodes=elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
- xpack.security.enabled=false
volumes:
- es_data3:/usr/share/elasticsearch/data
networks:
- elasticsearch-net
ports:
- "9202:9200"
- "9302:9300"
networks:
elasticsearch-net:
driver: bridge
volumes:
es_data1:
es_data2:
es_data3:
啟動集群:

只要是發送訊息出去的都是這一個腳色,定位上是往kafka push queue的就是。