RabbitMQ ืืื ืึท ืึธื ืืึธื ืืขืงืืขืจ ืืขืฉืจืืื ืืื ืขืจืืึทื ื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืึธืจืืึทื ืืืืจื ืึท ืคืึทืืืึธืืืขืจ ืงื ืืื ืืื ืคืื ืืึทืื ืจืขืคึผืืึทืงืืืฉืึทื ืึทืจืืืขืจ ืงืืืคื ื ืึธืืื, ืืื ืืขืืขืจ ื ืึธืืข ืงืขื ืขื ืืื ืขื ืืืืขื ืขื ืืื ืฉืจืืึทืื ืจืืงืืืขืก. ืืื ืคืืืข ืงืืืขืจื ืขืืขืก ืงืืึทืกืืขืจื ืืื ืคึผืจืึธืืืงืฆืืข ืึธืคึผืขืจืึทืฆืืข, ืืืจ ืฉืืืฆื ืึท ืืจืืืก ื ืืืขืจ ืคืื RabbitMQ ืื ืกืืึทืืืืฉืึทื ื ืืื ืืขื ืขื ืคืืืกื ืืื ืื ื ืืื ืฆื ืืืืืจืืื ืืึทืื ืคืื ืืืื ืงื ืืื ืฆื ืื ืืขืจื ืึธื ืืึทืื ืืืื.
ืืืจ ืืึทืจืคึฟื ืืขื ืึธืคึผืขืจืึทืฆืืข ืืื ืืื ืืกืืขืจ ืฆืืืื ืงืึทืกืขืก:
- ืืจืึทื ืกืคืขืจืื ื ืืึทืื ืคืื ืึท RabbitMQ ืงื ืืื ืืืึธืก ืืื ื ืืฉื ืืืื ืืื ืงืืืขืจื ืขืืขืก ืฆื ืึท ื ืืึท - ืฉืืื "ืงืืืขืจื ืขืืืืขื" (ื"ื ืึทืคึผืขืจืืืืื ื ืืื K8s ืคึผืึธืืก) - ืงื ืืื.
- ืืืืจืึทืืืึธื ืคืื RabbitMQ ืื ืงืืืขืจื ืขืืขืก ืคืื ืืืื ื ืึทืืขืกืคึผืึทืกืข ืฆื ืื ืืขืจื (ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืื ืกืขืจืงืึทืฅ ืืขื ืขื ืืขืืืืืืขื ืืืจื ื ืึทืืขืกืคึผืึทืกืขืก, ืืขืืึธืื ืึทืจืืืขืจืคืืจื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืคืื ืืืื ืงืจืืึทื ืฆื ืื ืืขืจื).
ืืขืจ ืจืขืฆืขืคึผื ืคืืจืืขืืืืื ืืื ืืขื ืึทืจืืืงื ืืื ืคืึธืืงืืกื ืืืืฃ ืกืืืืึทืืืึธื ืก (ืึธืืขืจ ืืื ื ืืฉื ืืืืืืขื ืฆื ืืื) ืืื ืืืึธืก ืขืก ืืื ืึทื ืึทืื RabbitMQ ืงื ืืื (ืืืฉื, ืคืื 3 ื ืึธืืื), ืืืื ืึธืืขืจ ืฉืืื ืืื K8s ืึธืืขืจ ืืืืฃ ืขืืืขืืข ืึทืื ืกืขืจืืืขืจืก. ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืึธืืกืืื ืืืืฃ Kubernetes (ืฉืืื ืืึธืจื ืึธืืขืจ ืืื ืืขืจ ืฆืืงืื ืคึฟื) ืึทืจืืขื ืืื ืืื:
... ืืื ืืืจ ืืขื ืขื ืคืืืกื ืืื ืื ืึทืจืืขื ืคืื ืืืืจืืืืื ื ืขืก ืฆื ืื ื ืืึทืข ืคึผืจืึธืืืงืฆืืข ืืื ืงืืืขืจื ืขืืขืก.
ืขืจืฉืืขืจ, ืืขืจ ืืขื ืขืจืึทื ืฆืืืึทื ื ืฆื ืื ืืืืจืึทืืืึธื ืืื ืืืขื ืืืื ืืืกืงืจืืืื, ืืื ื ืึธื ืืขื ืื ืืขืื ืืฉ ืืขืืึทืืืก ืคืื ืืืึทื ืืืคึผืืึทืืขื ืืืืฉืึทื ืืืขื ืืืื ืืืกืงืจืืืื.
ืืืืจืึทืืืึธื ืึทืืืขืจืืืึทื
ืืขืจ ืขืจืฉืืขืจ, ืคึผืจืืืืืึทื ืขืจื, ืืื ืข ืืืืืขืจ ืงืืื ืงืึทืืฃ ืืื ืฆื ืงืึธื ืืจืึธืืืจื ืึทื ืืืื ืึทืืืืืืึทืืืืืื ืืึธืืข ืืื ืขื ืืืืึทืื ืืื ืื ืึทืื RabbitMQ ืื ืกืืึทืืืจืื ื (ha-mode: all
:
ืืขืจ ืืืืึทืืขืจ ืฉืจืื ืืื ืฆื ืืึทืคึผื ืึท ื ืืึท RabbitMQ ืงื ืืื ืืื ืงืืืขืจื ืขืืขืก ืคึผืึธืืก (ืืื ืืื ืืืขืจ ืคืึทื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืงืึทื ืกืืกืืื ื ืคืื 3 ื ืึธืืื, ืึธืืขืจ ืืืืขืจ ื ืืืขืจ ืงืขื ืืืื ืึทื ืืขืจืฉ).
ื ืึธื ืืขื, ืืืจ ืฆืื ืืืคืืืกื ืื ืึทืื ืืื ื ืืึท RabbitMQ ืงืืึทืกืืขืจื ืืื ืืึทืงืืืขื ืึท ืืืื ืงื ืืื (ืคืื 6 ื ืึธืืื):
ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืืึทืื ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืฆืืืืฉื ืื ืึทืื ืืื ื ืืึท RabbitMQ ืงืืึทืกืืขืจื ืืื ืื ืืฉืืืืืื. ืึทืืึธื ืึทืืข ืืึทืื ืืขื ืขื ืกืื ืืงืจืึทื ืืืื ืฆืืืืฉื ืึทืืข ื ืึธืืื ืืื ืืขื ืงื ืืื, ืืืจ ืงืขื ืขื ืืึทืฉืืืืขื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ื ืืฆื ืื ื ืืึทืข ืงื ืืื:
ื ืึธื ืื ืึทืคึผืขืจืืืฉืึทื ื, ืขืก ืืื ืืขื ืื ืฆื ืืึทืืืึทืืืงื ืื ืึทืื ื ืึธืืื ืคืื ืื RabbitMQ ืงื ืืื, ืืื ืื ืืึทื ืงืขื ืขื ืืืื ืืขืืืืื ืืึทื ืฅ:
ืืืจ ืืึธืื ืืขืืืืื ื ืืขื ืกืืขืืข ืคืืืข ืืึธื ืืื ืคึผืจืึธืืืงืฆืืข. ืึธืืขืจ, ืคึฟืึทืจ ืืื ืืืขืจ ืืืืืขื ืข ืงืึทื ืืืื ืืึทื ืก, ืืืจ ืืืคึผืืึทืืขื ืึทื ืขืก ืืื ืึท ืกืคึผืขืฉืึทืืืืื ืกืืกืืขื ืืืึธืก ืืืกืืจืืืืืฅ ื ืึธืจืืึทื RMQ ืงืึทื ืคืืืืขืจืืืฉืึทื ื ืึทืจืืืขืจ ืงืืืคื ืงืืืขืจื ืขืืขืก ืงืืึทืกืืขืจื (ืคึฟืึทืจ ืื ืืืึธืก ืืขื ืขื ืืฉืืงืึทืืืข: ืืืจ ืืขื ืขื ืืขืจืขืื ืืืขืื
ืืื ืก ืคึผืจืืืืจื ืขืก ืืื ืคืืจ
ืืืืขืจืคืขื ืืฉื
ืื ืคืจืืื ืืขื ืขื ืืืืขืจ ืคึผืฉืื:
- Kubernetes ืงื ืืื (ืืื ืืงืืืข ืืืขื ืืืื ืึทืจืืขืื);
- RabbitMQ ืงื ืืื (ืงืขื ืขื ืืืื ืืืคึผืืืื ืืืืฃ ื ืึทืงืขื ืืขืืึทื, ืืื ืืขืืืื ืืื ืึท ืจืขืืืืขืจ ืงื ืืื ืืื Kubernetes ืคึฟืื ืืขืจ ืืึทืึทืืืขืจ ืืขืื ืืฉืึทืจื).
ืคึฟืึทืจ ืืขื ืืืึทืฉืคึผืื ืืื ืื, ืืื ืืืคึผืืืื RMQ ืฆื Kubernetes ืืื ืืขืจืืคื ืขืก rmq-old
.
ืฉืืืื ืฆืืืจืืืืื ื
1. ืืจืืคืงืืคืืข ืื ืืขืื ืืฉืึทืจื ืืื ืจืขืืึทืืืจื ืขืก ืึท ืืืกื:
helm fetch --untar stable/rabbitmq-ha
ืคึฟืึทืจ ืงืึทื ืืืื ืืึทื ืก, ืืืจ ืฉืืขืื ืึท ืคึผืึทืจืึธื, ErlangCookie
ืืื ืืึทืื ืคึผืึธืืืืืง ha-all
ืึทืืื ืึทื ืืืจื ืคืขืืืงืืึทื ืื ืงืืื ืืขื ืขื ืกืื ืืงืจืึทื ืืืื ืฆืืืืฉื ืึทืืข ื ืึธืืื ืคืื ืื RMQ ืงื ืืื:
rabbitmqPassword: guest
rabbitmqErlangCookie: mae9joopaol7aiVu3eechei2waiGa2we
definitions:
policies: |-
{
"name": "ha-all",
"pattern": ".*",
"vhost": "/",
"definition": {
"ha-mode": "all",
"ha-sync-mode": "automatic",
"ha-sync-batch-size": 81920
}
}
2. ืื ืกืืึทืืืจื ืื ืืฉืึทืจื:
helm install . --name rmq-old --namespace rmq-old
3. ืืืื ืฆื ืื RabbitMQ ืึทืืืื ืืึทืคืืืข, ืฉืึทืคึฟื ืึท ื ืืึทืข ืจืื ืืื ืืืืื ืขืืืขืืข ืึทืจืืืงืืขื. ืืื ืืืขืื ืืืื ืืืจืฃ ืึทืืื ืึทื ื ืึธื ืืืืจืึทืืืึธื ืืืจ ืงืขื ืขื ืืึทืื ืืืืขืจ ืึทื ืึทืืข ืื ืืึทืื ืืขื ืขื ืืคืืขืืื ืืื ืืืจ ืืึธืื ื ืืฉื ืคืึทืจืคืึทืื ืขืคึผืขืก:
ืืขืจ ืคึผืจืึธืืข ืืึทื ืง ืืื ืืจืืื: ืืืจ ืืึธืื ืื "ืึทืื" ืจืึทืืืืืง ืืื ืืึทืื ืืืึธืก ืืึทืจืฃ ืืืื ืืจืึทื ืกืคืขืจื.
ืืืืจืืืืื ื ืึท RabbitMQ ืงื ืืื
1. ืขืจืฉืืขืจ, ืืึธืื ืืื ืื ืฆืขืืืืงืืขื ืื ื ืืึท RabbitMQ ืืื ืคืจืืึทื ื ื ืึธืืขื ืคึผืืึทืฅ ืืื ืืขืืืข ErlangCookie
ืืื ืคึผืึทืจืึธื ืคึฟืึทืจ ืื ืืึทื ืืฆืขืจ. ืฆื ืืึธื ืืึธืก, ืืืจ ืืืขืื ืืืจืืคืืจื ืื ืึทืคึผืขืจืืืฉืึทื ื ืืืกืงืจืืืื ืืืืื, ืืฉืึทื ืืื ื ืื ืืขืฆื ืืึทืคึฟืขื ืคึฟืึทืจ ืื ืกืืึธืืื ื RMQ ืฆื ืื ืคืืืืขื ืืข:
helm install . --name rmq-new --namespace rmq-new
2. ืืืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืฆืื ืืืคืืืกื ืื ื ืืึท ืงื ืืื ืืื ืื ืึทืื ืืืื ืขืจ. ืฆื ืืึธื ืืึธืก, ืืืื ืฆื ืืขืืขืจ ืคืื ืื ืคึผืึธืืก ื ืืึท RabbitMQ ืืื ืืืกืคืืจื ืื ืงืึทืืึทื ืื:
export OLD_RMQ=rabbit@rmq-old-rabbitmq-ha-0.rmq-old-rabbitmq-ha-discovery.rmq-old.svc.cluster.local &&
rabbitmqctl stop_app &&
rabbitmqctl join_cluster $OLD_RMQ &&
rabbitmqctl start_app
ืืื ืคืึทืจืฉืืืขื ืข OLD_RMQ
ืื ืึทืืจืขืก ืคืื ืืืื ืขืจ ืคืื ืื ื ืึธืืื ืืื ืืขืคึฟืื ืขื ืึทืื ืจืืง ืงื ืืื.
ืื ืงืึทืืึทื ืื ืืืขื ืืึทืืื ืืขื ืงืจืึทื ื ื ืึธืืข ื ืืึท RMQ ืงื ืืื, ืฆืืืฉืขืคึผืขื ืขืก ืฆื ืื ืึทืื ืงื ืืื ืืื ืงืึทืืขืจ ืขืก ืืืืืขืจ.
3. RMQ ืงื ืืื ืคืื 6 ื ืึธืืื ืืื ืืจืืื:
ืืืจ ืืืื ืืืึทืจืื ืืฉืขืช ืึทืจืืืงืืขื ืืขื ืขื ืกืื ืืงืจืึทื ืืืื ืฆืืืืฉื ืึทืืข ื ืึธืืื. ืขืก ืืื ื ืืฉื ืฉืืืขืจ ืฆื ืืจืขืคื ืึทื ืืขืจ ืึธื ืืึธื ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืฆืืื ืืขืคึผืขื ืืก ืืืืฃ ืื ืงืึทืคึผืึทืฆืืืขื ืคืื ืื ืืึทืื ืืืึทืจื ืืืืฃ ืืืึธืก ืื ืงื ืืื ืืื ืืืคึผืืืื ืืื ืืืืฃ ืื ื ืืืขืจ ืคืื ืึทืจืืืงืืขื. ืืื ืื ืืืกืงืจืืืื ืกืฆืขื ืึทืจ, ืขืก ืืขื ืขื ืืืืื 10 ืคืื ืืื, ืึทืืื ืื ืืึทืื ืืขื ืขื ืกืื ืืงืจืึทื ืืืื ืืืืงืขืฃ, ืึธืืขืจ ืืื ืึท ืืขื ืื ืืจืืืก ื ืืืขืจ ืคืื ืึทืจืืืงืืขื, ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืงืขื ืขื ืืขืฆืืข ืคึฟืึทืจ ืฉืขื.
ืึทืืื, ืื ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืกืืึทืืืก:
ืืึธ +5
ืืืื ืึทืจืืืงืืขื ืืขื ืขื ืฉืืื ืืื ืืขืจ ืืืืฃ 5 ื ืึธืืื (ืึทืืืฅ ืืืึธืก ืืื ืื ืืขืืืืื ืืื ืืขื ืคืขืื Node
). ืึทืืื, ืื ืกืื ืืงืจืึทื ืึทืืืืฉืึทื ืืื ืืขืืืขื ืืฆืืื.
4. ืึทืืข ืืืึธืก ืืืืืื ืืื ืฆื ืืึทืฉืืืืขื ืื RMQ ืึทืืจืขืก ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืื ื ืืึทืข ืงื ืืื (ืื ืกืคึผืขืฆืืคืืฉ ืึทืงืฉืึทื ื ืืึธ ืึธืคืขื ืืขื ืืืืฃ ืื ืืขืื ืึธืืึธืืืข ืกืืึทืง ืืืจ ื ืืฆื ืืื ืื ืืขืจืข ืึทืคึผืืึทืงืืืฉืึทื ืกืคึผืขืกืืคืืงืก), ื ืึธื ืืืึธืก ืืืจ ืงืขื ืขื ืืึธืื ืืืึท ืืขืืื ื ืฆื ืื ืึทืื ืืืื ืขืจ.
ืคึฟืึทืจ ืื ืืขืฆืืข ืึธืคึผืขืจืึทืฆืืข (ื"ื ืฉืืื ื ืึธื ืืึทืฉืืืืขื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืึท ื ืืึทืข ืงื ืืื) ืืืื ืฆื ืืขืืขืจ ื ืึธืืข ืึทืื ืงื ืืื ืืื ืืืกืคืืจื ืื ืงืึทืืึทื ืื:
rabbitmqctl stop_app
rabbitmqctl reset
ืืขืจ ืงื ืืื "ืคืืจืืขืกื" ืืืขืื ืื ืึทืื ื ืึธืืื: ืืืจ ืงืขื ืขื ืืืกืืขืงื ืื ืึทืื ืจืืง, ืืื ืืืึธืก ืคืื ื ืื ืืึทื ืืืขื ืืืื ืืขืขื ืืืงื.
ืืึธื: ืืืื ืืืจ ื ืืฆื RMQ ืืื ืกืขืจืืืคืืงืึทืฅ, ืืึธืจื ืืฉื ืคืึทื ืืึทืืขื ืืึทืื ืขื ืืขืจืื ืืขื - ืื ืืึธืืืื ื ืคึผืจืึธืฆืขืก ืืืขื ืืืื ืืืจืืืขืงืึธืื ืคึผืื ืงื ืื ืืขืืืข.
ืคืืื ืืื ืื
ืื ืืืกืงืจืืืื ืกืืขืืข ืืื ืคึผืึทืกืืง ืคึฟืึทืจ ืึผืืขื ืึทืืข ืงืึทืกืขืก ืืืขื ืืืจ ืืึทืจืคึฟื ืฆื ืืืืืจืืื RabbitMQ ืึธืืขืจ ืคืฉืื ืืึทื ืฆื ืึท ื ืืึท ืงื ืืื.
ืืื ืืื ืืืขืจ ืคืึทื, ื ืึธืจ ืืืื ืืึธื, ืืืขื ืจื"ืง ืืื ืืขืืืขื ืึทืงืกืขืกื ืคืื ืคืืืข ืขืจืืขืจ, ืืื ืืืจ ืืึธืื ื ืืฉื ืืึธืื ืื ืืขืืขืื ืืืื ืฆื ืืืืฉื ืื ืจื"ืง ืึทืืจืขืก ืฆื ืึท ื ืืึท ืืืื ืขืจ ืืืืขืืื. ืืขืจื ืึธื ืืืจ ืืึธื ืืฉื ืึท ื ืืึทืข RMQ ืืื ืืขืจ ืืขืืืืงืขืจ ื ืึทืืขืกืคึผืึทืกืข ืืื ืื ืืขืืืข ืืึทืืขืืก ืึทืืื ืึทื ืขืก ืืืึธืื ืคืึทืื ืืื ืืขืจ ืืืืืกืืื ื ืืึทืืื ืื ืืก ืืื ืื ืืจืขืกืกืขืก, ืืื ืืืขื ืืึธื ืืฉืื ื ืื ืคึผืึธื, ืืืจ ืืึทื ืืคึผืืึทืืืืืื ืื ืืึทืืขืืก ืืื ืืึทื ื, ืจืืืืืืื ื ืืื ืืื ืื ืึธื ืืืื ืึทืืื ืึทื ืจืืงืืืขืก ืืึธื ื ืืฉื ืคืึทืื ืืืืฃ ืื ืคึผืึธื. ืืืืืืง RMQ, ืืื ืึทืืื ื ืืื ืฆืืจืืง ื ืึธื ืื ืึทืจืืืงืืขื ืืขื ืขื ืกืื ืืงืจืึทื ืืืื.
ืืืจ ืืขืืืืื ื ืื ืืขืืืข ืกืืจืึทืืขืืืข ืืืขื ืึทืคึผืืืืืื ื RabbitMQ ืฆื ืึท ื ืืึทืข ืืืขืจืกืืข ืืื ืึท ืืฉืืื ืืืฉื ืงืึทื ืคืืืืขืจืืืฉืึทื - ืึทืืฅ ืืขืืจืืขื ืืื ืึท ืืืืืขืจ.
ืคึผืก
ืืื ืึท ืืึทืืืฉืืงืึทื ืงืึทื ืืื ืืืืืฉืึทื ืคืื ืืขื ืืึทืืขืจืืึทื, ืืืจ ืคึผืจืืคึผืขืจืื ื ืึทืจืืืงืืขื ืืืขืื MongoDB (ืืืืจืึทืืืึธื ืคืื ืึท ืืึทืื ืืืึทืจื ืกืขืจืืืขืจ ืฆื Kubernetes) ืืื MySQL (ืืื ืืืจ ืฆืืืจืืืื ืืขื DBMS ืืื Kubernetes). ืืื ืืืขืื ืืืื ืืจืืืก ืืื ืื ืงืืืขื ืืืงืข ืืืฉืื.
ืคึผืคึผืก
ืืืืขื ืขื ืืืื ืืืืฃ ืืื ืืืขืจ ืืืึธื:
- ยซ
ืืึทืืึทืืืืกืื ืืื ืงืืืขืจื ืขืืขืก (ืืืขืจืืืืง ืืื ืืืืืขื ืืึทืจืืื) "; - ยซ
ืขืฆืืช ืืื ืืจืืงืก ืคืื K8: ืคืึทืจืืืืขืจื ืืึธืึธืฆืืจืึทืคึผ ืคึฟืึทืจ ืืจืืืก ืืึทืืึทืืืืกืื '.
ืืงืืจ: www.habr.com