ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

RabbitMQ ืื™ื– ืึท ืึธื ื–ืึธื’ ืžืขืงืœืขืจ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืขืจืœืึทื ื’ ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืึท ืคืึทื™ืœืึธื•ื•ืขืจ ืงื ื•ื™ืœ ืžื™ื˜ ืคื•ืœ ื“ืึทื˜ืŸ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึทืจื™ื‘ืขืจ ืงื™ื™ืคืœ ื ืึธื•ื“ื–, ื•ื•ื• ื™ืขื“ืขืจ ื ืึธื“ืข ืงืขื ืขืŸ ื“ื™ื ืขืŸ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ืจื™ืงื•ื•ืขืก. ืžื™ื˜ ืคื™ืœืข ืงื•ื‘ืขืจื ืขื˜ืขืก ืงืœืึทืกื˜ืขืจื– ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข ืึธืคึผืขืจืึทืฆื™ืข, ืžื™ืจ ืฉื˜ื™ืฆืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ RabbitMQ ื™ื ืกื˜ืึทืœื™ื™ืฉืึทื ื– ืื•ืŸ ื–ืขื ืขืŸ ืคื™ื™ืกื˜ ืžื™ื˜ ื“ื™ ื ื•ื™ื˜ ืฆื• ืžื™ื™ื’ืจื™ื™ื˜ ื“ืึทื˜ืŸ ืคื•ืŸ ืื™ื™ืŸ ืงื ื•ื™ืœ ืฆื• ืื ื“ืขืจืŸ ืึธืŸ ื“ืึทื•ื ื˜ื™ื™ื.

ืžื™ืจ ื“ืึทืจืคึฟืŸ ื“ืขื ืึธืคึผืขืจืึทืฆื™ืข ืื™ืŸ ืžื™ื ื“ืกื˜ืขืจ ืฆื•ื•ื™ื™ ืงืึทืกืขืก:

  1. ื˜ืจืึทื ืกืคืขืจื™ื ื’ ื“ืึทื˜ืŸ ืคื•ืŸ ืึท RabbitMQ ืงื ื•ื™ืœ ื•ื•ืึธืก ืื™ื– ื ื™ืฉื˜ ืœื™ื’ืŸ ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืฆื• ืึท ื ื™ื™ึท - ืฉื•ื™ืŸ "ืงื•ื‘ืขืจื ืขื˜ื™ื–ืขื“" (ื“"ื” ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืื™ืŸ K8s ืคึผืึธื“ืก) - ืงื ื•ื™ืœ.
  2. ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืคื•ืŸ RabbitMQ ื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคื•ืŸ ืื™ื™ืŸ ื ืึทืžืขืกืคึผืึทืกืข ืฆื• ืื ื“ืขืจืŸ (ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืกืขืจืงืึทืฅ ื–ืขื ืขืŸ ื“ืขืœื™ืžื™ื˜ืขื“ ื“ื•ืจืš ื ืึทืžืขืกืคึผืึทืกืขืก, ื“ืขืžืึธืœื˜ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืคื•ืŸ ืื™ื™ืŸ ืงืจื™ื™ึทื– ืฆื• ืื ื“ืขืจืŸ).

ื“ืขืจ ืจืขืฆืขืคึผื˜ ืคืืจื’ืขืœื™ื™ื’ื˜ ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ื– ืคืึธื•ืงื™ืกื˜ ืื•ื™ืฃ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก (ืึธื‘ืขืจ ืื™ื– ื ื™ืฉื˜ ืœื™ืžื™ื˜ืขื“ ืฆื• ื–ื™ื™) ืื™ืŸ ื•ื•ืึธืก ืขืก ืื™ื– ืึทืŸ ืึทืœื˜ RabbitMQ ืงื ื•ื™ืœ (ืœืžืฉืœ, ืคื•ืŸ 3 ื ืึธื•ื“ื–), ืœื™ื’ืŸ ืึธื“ืขืจ ืฉื•ื™ืŸ ืื™ืŸ K8s ืึธื“ืขืจ ืื•ื™ืฃ ืขื˜ืœืขื›ืข ืึทืœื˜ ืกืขืจื•ื•ืขืจืก. ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื›ืึธื•ืกื˜ื™ื“ ืื•ื™ืฃ Kubernetes (ืฉื•ื™ืŸ ื“ืึธืจื˜ ืึธื“ืขืจ ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜) ืึทืจื‘ืขื˜ ืžื™ื˜ ืื™ื:

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

... ืื•ืŸ ืžื™ืจ ื–ืขื ืขืŸ ืคื™ื™ืกื˜ ืžื™ื˜ ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ืžื™ื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืฆื• ื“ื™ ื ื™ื™ึทืข ืคึผืจืึธื“ื•ืงืฆื™ืข ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก.

ืขืจืฉื˜ืขืจ, ื“ืขืจ ื’ืขื ืขืจืึทืœ ืฆื•ื’ืึทื ื’ ืฆื• ื“ื™ ืžื™ื’ืจืึทื˜ื™ืึธืŸ ื–ื™ืš ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“, ืื•ืŸ ื ืึธืš ื“ืขื ื“ื™ ื˜ืขื›ื ื™ืฉ ื“ืขื˜ืึทื™ืœืก ืคื•ืŸ ื–ื™ื™ึทืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“.

ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืึทืœื’ืขืจื™ื“ืึทื

ื“ืขืจ ืขืจืฉื˜ืขืจ, ืคึผืจื™ืœื™ืžืึทื ืขืจื™, ื‘ื™ื ืข ืื™ื™ื“ืขืจ ืงื™ื™ืŸ ืงืึทืžืฃ ืื™ื– ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื”ื•ื™ืš ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœื™ื˜ื™ ืžืึธื“ืข ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ืื™ืŸ ื“ื™ ืึทืœื˜ RabbitMQ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ (HA). ื“ื™ ืกื™ื‘ื” ืื™ื– ืงืœืึธืจ ื•ื•ื™ ื“ืขืจ ื˜ืึธื’ - ืžื™ืจ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ืคืึทืจืœื™ืจืŸ ืงื™ื™ืŸ ื“ืึทื˜ืŸ. ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื“ืขื ื˜ืฉืขืง, ืื™ืจ ืงืขื ืขืŸ ื’ื™ื™ืŸ ืฆื• ื“ื™ RabbitMQ ืึทื“ืžื™ืŸ ื˜ืึทืคืœื™ืข ืื•ืŸ ืื™ืŸ ื“ื™ ืึทื“ืžื™ืŸ โ†’ ืคึผืึทืœืึทืกื™ื– ืงื•ื•ื™ื˜ืœ ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื‘ืึทืฉื˜ื™ืžื˜. ha-mode: all:

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ืฆื• ื›ืึทืคึผืŸ ืึท ื ื™ื™ึท RabbitMQ ืงื ื•ื™ืœ ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคึผืึธื“ืก (ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืงืึทื ืกื™ืกื˜ื™ื ื’ ืคื•ืŸ 3 ื ืึธื•ื“ื–, ืึธื‘ืขืจ ื–ื™ื™ืขืจ ื ื•ืžืขืจ ืงืขืŸ ื–ื™ื™ืŸ ืึทื ื“ืขืจืฉ).

ื ืึธืš ื“ืขื, ืžื™ืจ ืฆื•ื ื•ื™ืคื’ื™ืกืŸ ื“ื™ ืึทืœื˜ ืื•ืŸ ื ื™ื™ึท RabbitMQ ืงืœืึทืกื˜ืขืจื– ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ืื™ื™ืŸ ืงื ื•ื™ืœ (ืคื•ืŸ 6 ื ืึธื•ื“ื–):

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ื“ืขืจ ืคึผืจืึธืฆืขืก ืคื•ืŸ ื“ืึทื˜ืŸ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืึทืœื˜ ืื•ืŸ ื ื™ื™ึท RabbitMQ ืงืœืึทืกื˜ืขืจื– ืื™ื– ื™ื ื™ืฉื™ื™ื™ื˜ื™ื“. ืึทืžืึธืœ ืึทืœืข ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“ ืฆื•ื•ื™ืฉืŸ ืึทืœืข ื ืึธื•ื“ื– ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ, ืžื™ืจ ืงืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ื ื™ื™ึทืข ืงื ื•ื™ืœ:

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ื ืึธืš ื“ื™ ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืขืก ืื™ื– ื’ืขื ื•ื’ ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื“ื™ ืึทืœื˜ ื ืึธื•ื“ื– ืคื•ืŸ ื“ื™ RabbitMQ ืงื ื•ื™ืœ, ืื•ืŸ ื“ื™ ืžืึทืš ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื”ืืœื˜ืŸ ื’ืึทื ืฅ:

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื“ืขื ืกื›ืขืžืข ืคื™ืœืข ืžืึธืœ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข. ืึธื‘ืขืจ, ืคึฟืึทืจ ืื•ื ื“ื–ืขืจ ืื™ื™ื’ืขื ืข ืงืึทื ื•ื•ื™ื ื™ืึทื ืก, ืžื™ืจ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืขืก ืื™ืŸ ืึท ืกืคึผืขืฉืึทืœื™ื™ื–ื“ ืกื™ืกื˜ืขื ื•ื•ืึธืก ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฅ ื ืึธืจืžืึทืœ RMQ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืึทืจื™ื‘ืขืจ ืงื™ื™ืคืœ ืงื•ื‘ืขืจื ืขื˜ืขืก ืงืœืึทืกื˜ืขืจื– (ืคึฟืึทืจ ื“ื™ ื•ื•ืึธืก ื–ืขื ืขืŸ ื˜ืฉื™ืงืึทื•ื•ืข: ืžื™ืจ ื–ืขื ืขืŸ ื’ืขืจืขื“ื˜ ื•ื•ืขื’ืŸ ืึทื“ื“ืึธืŸ-ืึธืคึผืขืจืึทื˜ืึธืจื•ื•ืขื’ืŸ ื•ื•ืึธืก ืžื™ืจ ื ืึธืจ ืœืขืฆื˜ื ืก ื“ืขืจืฆื™ื™ืœื˜). ื•ื ื˜ืขืจ ืžื™ืจ ื•ื•ืขืœืŸ ืคืึธืจืฉื˜ืขืœืŸ ื™ื—ื™ื“ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืึทื– ื•ื•ืขืจ ืขืก ื™ื– ืงืขื ืขืŸ ืฆื•ืœื™ื™ื’ืŸ ืื•ื™ืฃ ื–ื™ื™ืขืจ ื™ื ืกื˜ืึทืœื™ื™ืฉืึทื ื– ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืคืืจื’ืขืœื™ื™ื’ื˜ ืœื™ื™ื–ื•ื ื’ ืื™ืŸ ืงืึทืžืฃ.

ื–ืืœ ืก ืคึผืจื•ื‘ื™ืจืŸ ืขืก ืื™ืŸ ืคื™ืจ

ื‘ืื“ืขืจืคืขื ื™ืฉืŸ

ื“ื™ ืคืจื˜ื™ื ื–ืขื ืขืŸ ื–ื™ื™ืขืจ ืคึผืฉื•ื˜:

  1. Kubernetes ืงื ื•ื™ืœ (ืžื™ื ื™ืงื•ื‘ืข ื•ื•ืขื˜ ืื•ื™ืš ืึทืจื‘ืขื˜ืŸ);
  2. 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 ืฆื• Kubernetes

ื“ืขืจ ืคึผืจืึธื‘ืข ื‘ืึทื ืง ืื™ื– ื’ืจื™ื™ื˜: ืžื™ืจ ื”ืึธื‘ืŸ ื“ื™ "ืึทืœื˜" ืจืึทื‘ื™ื˜ืžืง ืžื™ื˜ ื“ืึทื˜ืŸ ื•ื•ืึธืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ื˜ืจืึทื ืกืคืขืจื“.

ืžื™ื’ืจื™ื™ื˜ื™ื ื’ ืึท 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 ื ืึธื•ื“ื– ืื™ื– ื’ืจื™ื™ื˜:

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ืื™ืจ ืžื•ื–ืŸ ื•ื•ืึทืจื˜ืŸ ื‘ืฉืขืช ืึทืจื˜ื™ืงืœืขืŸ ื–ืขื ืขืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“ ืฆื•ื•ื™ืฉืŸ ืึทืœืข ื ืึธื•ื“ื–. ืขืก ืื™ื– ื ื™ืฉื˜ ืฉื•ื•ืขืจ ืฆื• ื˜ืจืขืคืŸ ืึทื– ื“ืขืจ ืึธื ื–ืึธื’ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืฆื™ื™ื˜ ื“ืขืคึผืขื ื“ืก ืื•ื™ืฃ ื“ื™ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ืคื•ืŸ ื“ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืื•ื™ืฃ ื•ื•ืึธืก ื“ื™ ืงื ื•ื™ืœ ืื™ื– ื“ื™ืคึผืœื•ื™ื“ ืื•ืŸ ืื•ื™ืฃ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืึทืจื˜ื™ืงืœืขืŸ. ืื™ืŸ ื“ื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ืกืฆืขื ืึทืจ, ืขืก ื–ืขื ืขืŸ ื‘ืœื•ื™ื– 10 ืคื•ืŸ ื–ื™ื™, ืึทื–ื•ื™ ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“ ื˜ื™ื™ืงืขืฃ, ืึธื‘ืขืจ ืžื™ื˜ ืึท ื’ืขื ื•ื’ ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืึทืจื˜ื™ืงืœืขืŸ, ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ืœืขืฆื˜ืข ืคึฟืึทืจ ืฉืขื”.

ืึทื–ื•ื™, ื“ื™ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืกื˜ืึทื˜ื•ืก:

ืกื™ืžืœืึทืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ RabbitMQ ืฆื• Kubernetes

ื“ืึธ +5 ืžื™ื˜ืœ ืึทืจื˜ื™ืงืœืขืŸ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ืื™ืŸ ืžืขืจ ืื•ื™ืฃ 5 ื ืึธื•ื“ื– (ืึทื—ื•ืฅ ื•ื•ืึธืก ืื™ื– ืื ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ืขื ืคืขืœื“ Node). ืึทื–ื•ื™, ื“ื™ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืื™ื– ื’ืขื•ื•ืขืŸ ืžืฆืœื™ื—.

4. ืึทืœืข ื•ื•ืึธืก ื‘ืœื™ื™ื‘ื˜ ืื™ื– ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ RMQ ืึทื“ืจืขืก ืื™ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ื“ื™ ื ื™ื™ึทืข ืงื ื•ื™ืœ (ื“ื™ ืกืคึผืขืฆื™ืคื™ืฉ ืึทืงืฉืึทื ื– ื“ืึธ ืึธืคืขื ื’ืขืŸ ืื•ื™ืฃ ื“ื™ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืกื˜ืึทืง ืื™ืจ ื ื•ืฆืŸ ืื•ืŸ ืื ื“ืขืจืข ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืคึผืขืกื™ืคื™ืงืก), ื ืึธืš ื•ื•ืึธืก ืื™ืจ ืงืขื ืขืŸ ื–ืึธื’ืŸ ื–ื™ื™ึท ื’ืขื–ื•ื ื˜ ืฆื• ื“ื™ ืึทืœื˜ ืื™ื™ื ืขืจ.

ืคึฟืึทืจ ื“ื™ ืœืขืฆื˜ืข ืึธืคึผืขืจืึทืฆื™ืข (ื“"ื” ืฉื•ื™ืŸ ื ืึธืš ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ืึท ื ื™ื™ึทืข ืงื ื•ื™ืœ) ื’ื™ื™ืŸ ืฆื• ื™ืขื“ืขืจ ื ืึธื“ืข ืึทืœื˜ ืงื ื•ื™ืœ ืื•ืŸ ื•ื™ืกืคื™ืจืŸ ื“ื™ ืงืึทืžืึทื ื“ื–:

rabbitmqctl stop_app
rabbitmqctl reset

ื“ืขืจ ืงื ื•ื™ืœ "ืคืืจื’ืขืกืŸ" ื•ื•ืขื’ืŸ ื“ื™ ืึทืœื˜ ื ืึธื•ื“ื–: ืื™ืจ ืงืขื ืขืŸ ื•ื™ืกืžืขืงืŸ ื“ื™ ืึทืœื˜ ืจืžืง, ืื™ืŸ ื•ื•ืึธืก ืคื•ื ื˜ ื“ื™ ืžืึทืš ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืขื ื“ื™ืงื˜.

ื˜ืึธืŸ: ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ RMQ ืžื™ื˜ ืกืขืจื˜ื™ืคื™ืงืึทืฅ, ื’ืึธืจื ื™ืฉื˜ ืคืึทื ื“ืึทืžืขื ื˜ืึทืœื™ ืขื ื“ืขืจื•ื ื’ืขืŸ - ื“ื™ ืžืึธื•ื•ื™ื ื’ ืคึผืจืึธืฆืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืคึผื•ื ืงื˜ ื“ื™ ื–ืขืœื‘ืข.

ืคื™ื™ื ื“ื™ื ื’ื–

ื“ื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ืกื›ืขืžืข ืื™ื– ืคึผืึทืกื™ืง ืคึฟืึทืจ ื›ึผืžืขื˜ ืึทืœืข ืงืึทืกืขืก ื•ื•ืขืŸ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืžื™ื™ื’ืจื™ื™ื˜ RabbitMQ ืึธื“ืขืจ ืคืฉื•ื˜ ืžืึทืš ืฆื• ืึท ื ื™ื™ึท ืงื ื•ื™ืœ.

ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ื ืึธืจ ืื™ื™ืŸ ืžืึธืœ, ื•ื•ืขืŸ ืจืž"ืง ืื™ื– ื’ืขื•ื•ืขืŸ ืึทืงืกืขืกื˜ ืคื•ืŸ ืคื™ืœืข ืขืจื˜ืขืจ, ืื•ืŸ ืžื™ืจ ื”ืึธื‘ืŸ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ืจืž"ืง ืึทื“ืจืขืก ืฆื• ืึท ื ื™ื™ึท ืื™ื™ื ืขืจ ืื•ืžืขื˜ื•ื. ื“ืขืจื ืึธืš ืžื™ืจ ืœืึธื ื˜ืฉื˜ ืึท ื ื™ื™ึทืข RMQ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื ืึทืžืขืกืคึผืึทืกืข ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ืœืึทื‘ืขืœืก ืึทื–ื•ื™ ืึทื– ืขืก ื•ื•ืึธืœื˜ ืคืึทืœืŸ ืื•ื ื˜ืขืจ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ืŸ ื™ื ื’ืจืขืกืกืขืก, ืื•ืŸ ื•ื•ืขืŸ ืœืึธื ื˜ืฉื™ื ื’ ื“ื™ ืคึผืึธื“, ืžื™ืจ ืžืึทื ื™ืคึผื™ืึทืœื™ื™ื˜ื™ื“ ื“ื™ ืœืึทื‘ืขืœืก ืžื™ื˜ ื”ืึทื ื˜, ืจื™ืžื•ื•ื•ื™ื ื’ ื–ื™ื™ ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืึทื–ื•ื™ ืึทื– ืจื™ืงื•ื•ืขืก ื–ืึธืœ ื ื™ืฉื˜ ืคืึทืœืŸ ืื•ื™ืฃ ื“ื™ ืคึผืึธื“. ืœื™ื™ื“ื™ืง RMQ, ืื•ืŸ ืึทื“ื™ื ื’ ื–ื™ื™ ืฆื•ืจื™ืง ื ืึธืš ื“ื™ ืึทืจื˜ื™ืงืœืขืŸ ื–ืขื ืขืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“.

ืžื™ืจ ื’ืขื•ื•ื™ื™ื ื˜ ื“ื™ ื–ืขืœื‘ืข ืกื˜ืจืึทื˜ืขื’ื™ืข ื•ื•ืขืŸ ืึทืคึผื“ื™ื™ื˜ื™ื ื’ RabbitMQ ืฆื• ืึท ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืžื™ื˜ ืึท ื˜ืฉื™ื™ื ื“ื–ืฉื“ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ - ืึทืœืฅ ื’ืขืืจื‘ืขื˜ ื•ื•ื™ ืึท ื–ื™ื™ื’ืขืจ.

ืคึผืก

ื•ื•ื™ ืึท ืœืึทื“ื–ืฉื™ืงืึทืœ ืงืึทื ื˜ื™ื ื™ื•ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ืขื ืžืึทื˜ืขืจื™ืึทืœ, ืžื™ืจ ืคึผืจื™ืคึผืขืจื™ื ื’ ืึทืจื˜ื™ืงืœืขืŸ ื•ื•ืขื’ืŸ MongoDB (ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืคื•ืŸ ืึท ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืกืขืจื•ื•ืขืจ ืฆื• Kubernetes) ืื•ืŸ MySQL (ื•ื•ื™ ืžื™ืจ ืฆื•ื’ืจื™ื™ื˜ืŸ ื“ืขื DBMS ืื™ืŸ Kubernetes). ื–ื™ื™ ื•ื•ืขืœืŸ ื–ื™ื™ืŸ ืืจื•ื™ืก ืื™ืŸ ื“ื™ ืงื•ืžืขื ื“ื™ืงืข ื—ื“ืฉื™ื.

ืคึผืคึผืก

ืœื™ื™ืขื ืขืŸ ืื•ื™ืš ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ื‘ืœืึธื’:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’