RabbitMQ. ื˜ื™ื™ืœ 1. ื”ืงื“ืžื”. ืขืจืœืึทื ื’, AMQP

ื’ื•ื˜ ื ืึธื›ืžื™ื˜ืึธื’, ื”ื‘ืจ! ืื™ืš ื•ื•ื™ืœืŸ ืฆื• ื˜ื™ื™ืœืŸ ืึท ืœืขืจื ื‘ื•ืš-ืจืขืคึฟืขืจืขื ืฅ ื‘ื•ืš ืคื•ืŸ ื•ื•ื™ืกืŸ ื•ื•ืึธืก ืื™ืš ื’ืขืจืื˜ืŸ ืฆื• ื–ืึทืžืœืขืŸ ืื•ื™ืฃ RabbitMQ ืื•ืŸ ืงืึทื ื“ืขื ืกื˜ ืื™ืŸ ืงื•ืจืฅ ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื– ืื•ืŸ ืงืึทื ืงืœื•ื–ืฉืึทื ื–.

ื˜ื™ืฉ ืคื•ืŸ ืื™ื ื”ืึทืœื˜

  • RabbitMQ. ื˜ื™ื™ืœ 1. ื”ืงื“ืžื”. ืขืจืœืึทื ื’, AMQP ืื•ืŸ RPC
  • RabbitMQ. ื˜ื™ื™ืœ 2. ืคืืจืฉื˜ืื ื“ ืขืงืกื˜ืฉืึทื ื’ืขืก
  • RabbitMQ. ื˜ื™ื™ืœ 3. ืคืืจืฉื˜ืื ื“ ืงื™ื•ื– ืื•ืŸ ื‘ื™ื ื“ื™ื ื’ืก
  • RabbitMQ. ื˜ื™ื™ืœ 4. ืคืืจืฉื˜ืื ื“ ื•ื•ืึธืก ืึทืจื˜ื™ืงืœืขืŸ ืื•ืŸ ืจืึธืžืขืŸ ื–ืขื ืขืŸ
  • RabbitMQ. ื˜ื™ื™ืœ 5: ืึธื ื–ืึธื’ ืคึผื•ื‘ืœื™ืฉื™ื ื’ ืื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’
  • RabbitMQ. ื˜ื™ื™ืœ 6. ืึธืคึผืฉืึทืฆื•ื ื’ ืคื•ืŸ ื“ื™ ืคืขื“ืขืจื™ื™ืฉืึทืŸ ืื•ืŸ ืจื™ื“ืœ ืžืึทื“ื–ืฉื•ืœื–
  • RabbitMQ. ื˜ื™ื™ืœ 7. ื“ืขื˜ืึทื™ืœืก ื•ื•ืขื’ืŸ ืงืึทื ืขืงืฉืึทืŸ ืื•ืŸ ื˜ืฉืึทื ืขืœ
  • RabbitMQ. ื˜ื™ื™ืœ 8. RabbitMQ ืื™ืŸ. ื ืขืฅ
  • RabbitMQ. ื˜ื™ื™ืœ 9. ืžืึธื ื™ื˜ืึธืจื™ื ื’

ื‘ืขืงื™ืฆืขืจ ื•ื•ืขื’ืŸ AMQP

AMQP (Advanced Message Queuing Protocol) ืื™ื– ืึทืŸ ืึธืคึฟืŸ ืคึผืจืึธื˜ืึธืงืึธืœ ืคึฟืึทืจ ื˜ืจืึทื ืกืžื™ื˜ื™ื ื’ ืึทืจื˜ื™ืงืœืขืŸ ืฆื•ื•ื™ืฉืŸ ืกื™ืกื˜ืขื ืงืึทืžืคึผืึธื•ื ืึทื ืฅ. ื“ื™ ื’ืจื•ื ื˜ ื’ืขื“ืึทื ืง ืื™ื– ืึทื– ื™ื—ื™ื“ ืกืึทื‘ืกื™ืกื˜ืึทืžื– (ืึธื“ืขืจ ืคืจื™ื™ึท ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–) ืงืขื ืขืŸ ื•ื•ืขืงืกืœ ืึทืจื˜ื™ืงืœืขืŸ ืื•ื™ืฃ ืึท ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ืฉื˜ื™ื™ื’ืขืจ ื“ื•ืจืš ืึท AMQP ืžืขืงืœืขืจ, ื•ื•ืึธืก ืคึผืขืจืคืึธืจืžื– ืจื•ื˜ื™ื ื’, ืขืคืฉืขืจ ื’ืขืจืึทื ื˜ื™ื– ืขืงืกืคึผืจืขืก, ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฅ ื“ืึทื˜ืŸ ืกื˜ืจื™ืžื– ืื•ืŸ ืึทื‘ืึธื ื™ืจืŸ ืฆื• ื“ื™ ื’ืขื‘ืขื˜ืŸ ืึธื ื–ืึธื’ ื˜ื™ื™ืคึผืก.

ืคึผืจืึธื˜ืึธืงืึธืœ AMQP ื‘ืึทืงืขื ืขื  ื“ืจืฒึท ื‘ืึทื’ืจื™ืคึฟืŸ:

RabbitMQ. ื˜ื™ื™ืœ 1. ื”ืงื“ืžื”. ืขืจืœืึทื ื’, AMQP

  • exchange (ื•ื•ืขืงืกืœ ืคื•ื ื˜ ืึธื“ืขืจ ื•ื•ืขืงืกืœ) - ืึทืจื˜ื™ืงืœืขืŸ ื–ืขื ืขืŸ ื’ืขืฉื™ืงื˜ ืฆื• ืขืก. ื•ื•ืขืงืกืœ ืคื•ื ื˜ ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฅ ืึธื ื–ืึธื’ ืื™ืŸ ืื™ื™ืŸ ืึธื“ืขืจ ืžืขืจ ืจื™ื™ืขืŸ. ื–ื™ ืจื•ืฅ ืึทืจื˜ื™ืงืœืขืŸ ืฆื• ืึท ืจื™ื™ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื‘ืืฉืืคืŸ ืงืึทื ืขืงืฉืึทื ื– (binding) ืฆืฐื™ืฉืŸ ืื™ื ืื•ืŸ ื“ืขืจ ืจื™ื™
  • queue (ืจื™ื™) - ืึท ื“ืึทื˜ืŸ ืกื˜ืจื•ืงื˜ื•ืจ ืื•ื™ืฃ ื“ื™ืกืง ืึธื“ืขืจ ืื™ืŸ ื‘ืึทืจืึทืŸ ืึทื– ืกื˜ืึธืจื– ืœื™ื ืงืก ืฆื• ืึทืจื˜ื™ืงืœืขืŸ ืื•ืŸ ื’ื™ื˜ ืงืืคื™ืขืก ืคื•ืŸ ืึทืจื˜ื™ืงืœืขืŸ consumers (ืฆื• ืงืึธื ืกื•ืžืขืจืก)
  • binding (ื‘ื™ื™ื ื“ื™ื ื’) - ืึท ื”ืขืจืฉืŸ ืึทื– ื“ืขืจืฆื™ื™ืœื˜ ื“ื™ ื•ื•ืขืงืกืœ ืคื•ื ื˜ ืื™ืŸ ื•ื•ืึธืก ืจื™ื™ ื“ื™ ืึทืจื˜ื™ืงืœืขืŸ ื–ืึธืœ ื’ื™ื™ืŸ ืื™ืŸ

ื“ืขืจ ืคึผืจืึธื˜ืึธืงืึธืœ ืœื•ื™ืคื˜ ืื•ื™ืฃ ืฉืคึผื™ืฅ ื˜ืงืคึผ / ื™ืคึผ.

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

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

Erlang ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื“ื™ ืคื™ืจืžืข Ericsson ืื™ืŸ ื“ื™ ืžื™ื˜ืŸ 1980 ืก ื•ื•ื™ ืึท ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜, ืฉื•ืœื“-ื˜ืึธืœืขืจืึทื ื˜, ืคืึทืงื˜ื™ืฉ-ืฆื™ื™ื˜ ืกื™ืกื˜ืขื ืคึฟืึทืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื“ืึทืจืคืŸ 99,999% ื•ืคึผื˜ื™ืžืข. Erlang ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืคืืจืฉื™ื“ืขื ืข ื™ื ื“ืึทืกื˜ืจื™ื– ืื•ืŸ ืžืึธื“ืขืจืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ืœืžืฉืœ. WhatsApp. ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืžืขืจ ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ื•ื•ื”ืึทืฆืึทืคึผืคึผ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ, ื•ื•ืึธืก ืคืึทืกืขื‘ืึธืึธืง ื’ืขืงื•ื™ืคื˜ ืคึฟืึทืจ $ 19 ื‘ื™ืœื™ืึธืŸ

ื‘ืขืงื™ืฆืขืจ ื•ื•ืขื’ืŸ RabbitMQ

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

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

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

RabbitMQ. ื˜ื™ื™ืœ 1. ื”ืงื“ืžื”. ืขืจืœืึทื ื’, AMQP

ืงื•ืจืฅ ืึทืจื‘ืขื˜ RabbitMQ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ื•ื•ื™ ื’ื™ื™ื˜:

  1. ื“ืขืจ ืึทืจื•ื™ืกื’ืขื‘ืขืจ ืกืขื ื“ื– ืึท ืึธื ื–ืึธื’ ืฆื• ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื•ื•ืขืงืกืœ
  2. ืึท ื•ื•ืขืงืกืœ, ื ืึธืš ื‘ืืงื•ืžืขืŸ ืึท ืึธื ื–ืึธื’, ืจื•ืฅ ืขืก ืฆื• ืื™ื™ื ืขืจ ืึธื“ืขืจ ืžืขืจ ืงื™ื•ื– ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ื“ื™ ื‘ื™ื™ื ื“ื™ื ื’ ื›ึผืœืœื™ื ืฆื•ื•ื™ืฉืŸ ืขืก ืื•ืŸ ื“ื™ ืจื™ื™
  3. ื“ื™ ืจื™ื™ ืกื˜ืึธืจื– ืึท ืจืขืคึฟืขืจืขื ืฅ ืฆื• ื“ืขื ืึธื ื–ืึธื’. ื“ืขืจ ืึธื ื–ืึธื’ ื–ื™ืš ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ื‘ืึทืจืึทืŸ ืึธื“ืขืจ ืื•ื™ืฃ ื“ื™ืกืง
  4. ืึทืžืึธืœ ื“ืขืจ ืงืึทื ืกื•ืžืขืจ ืื™ื– ื’ืจื™ื™ื˜ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ืึธื ื–ืึธื’ ืคื•ืŸ ื“ืขืจ ืจื™ื™, ื“ืขืจ ืกืขืจื•ื•ืขืจ ืงืจื™ื™ื™ืฅ ืึท ืงืึธืคึผื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ืขื ืึธื ื–ืึธื’ ื“ื•ืจืš ื“ื™ ืœื™ื ืง ืื•ืŸ ืกืขื ื“ื–
  5. ื“ืขืจ ืงืึทื ืกื•ืžืขืจ ื ืขืžื˜ ื“ืขื ืึธื ื–ืึธื’ ืื•ืŸ ืกืขื ื“ื– ื‘ืึทืฉื˜ืขื˜ื™ืงื•ื ื’ ืฆื• ื“ืขืจ ืžืขืงืœืขืจ
  6. ื“ืขืจ ืžืขืงืœืขืจ, ื•ื•ืขืŸ ืขืจ ื‘ืืงื•ืžืขืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงื•ื ื’, ืจื™ืžื•ื•ื•ื– ืึท ืงืึธืคึผื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืขื ืึธื ื–ืึธื’ ืคื•ืŸ ื“ืขืจ ืจื™ื™. ื“ืขืจื ืึธืš ื“ื™ืœื™ืฅ ืคื•ืŸ ื‘ืึทืจืึทืŸ ืื•ืŸ ื“ื™ืกืง

ืจืคึผืง

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

RabbitMQ. ื˜ื™ื™ืœ 1. ื”ืงื“ืžื”. ืขืจืœืึทื ื’, AMQP

ืื•ื™ืš ืื™ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ AMQP ื‘ื™ื™ื“ืข ื“ืขืจ ืงืœื™ืขื ื˜ ืื•ืŸ ืกืขืจื•ื•ืขืจ ืงืขื ืขืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืงืึทืžืึทื ื“ื–. ื“ืขื ืžื™ื˜ืœ ืึทื– ื“ืขืจ ืงืœื™ืขื ื˜ ืื™ื– ื•ื•ืืจื˜ืŸ ืฆื• ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ื“ื™ ืกืขืจื•ื•ืขืจ. ืงืึทืžืึทื ื“ื– ื–ืขื ืขืŸ ืงืœืืกืŸ ืื•ืŸ ืžืขื˜ื”ืึธื“ืก. ืœืžืฉืœ, Connection.Start โ€“ ืื•ืคึฟืŸ ืจื•ืคืŸ Start ืงืœืึทืก Connection.

ืงืฉืจ ืื•ืŸ ื˜ืฉืึทื ืึทืœื–

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

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

RabbitMQ. ื˜ื™ื™ืœ 1. ื”ืงื“ืžื”. ืขืจืœืึทื ื’, AMQP

ื ืคึผืฉื•ื˜ ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ืงืฉืจ ืื•ืŸ ืงืึทื ืึทืœ ื ื™ืฆืŸ RabbitMQ.Client:

// ...
private void TryConnect()
{
    var factory = new ConnectionFactory() 
    {
        HostName = "host_name",
        UserName = "user_name",
        Password = "p@ssword",
        // ะ’ะบะปัŽั‡ะตะฝะธะต ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตะบะพะณะพ ะฒะพััั‚ะฐะฝะพะฒะปะตะฝะธั
        // ัะพะตะดะธะฝะตะฝะธั ะฟะพัะปะต ัะฑะพะตะฒ ัะตั‚ะธ 
        AutomaticRecoveryEnabled = true
    };
    _connection = factory.CreateConnection();
}
// ...
public void CreateChanel()
{
    _channel = _connection.CreateModel();
    // other options 
}

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

ื•ื•ื• ืื™ื– RabbitMQ ื’ืขื ื™ืฆื˜?

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

ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ IIOT ืคึผืจืึธื˜ืึธืงืึธืœ AMQP ืื•ืŸ ื–ื™ื™ึทืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ืŸ RabbitMQ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ื“ืึทื˜ืŸ ื•ื•ืขืงืกืœ ืฆื•ื•ื™ืฉืŸ ืกืขืจื•ื•ืขืจืก (ืกืขืจื•ื•ืขืจ-ืกืขืจื•ื•ื™ืจืขืจ). ืื•ื™ืš ื ื•ืฆืŸ ื“ื™ ืคึผืœื•ื’ื™ืŸ MQTT ืคึผืœื•ื’ื™ืŸ RabbitMQ ื•ื•ืึธืก ืื™ื– ืึทืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ืขื ืคึผืจืึธื˜ืึธืงืึธืœ ืžืงื˜ื˜ ืคึฟืึทืจ ื˜ืจืึทื ืกืžื™ื˜ื™ื ื’ ื“ืึทื˜ืŸ ืฆื•ื•ื™ืฉืŸ ืกืขื ืกืขืจ ืื•ืŸ ืกืขืจื•ื•ืขืจ ืื™ืŸ ื ื™ื“ืขืจื™ืง-ื’ื™ื›ืงื™ื™ึทื˜, ื”ื•ื™ืš-ืœื™ื™ื˜ืึทื ืก ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ (ืึท ืคื•ืœ ืจืฉื™ืžื” ืคื•ืŸ ืฉื˜ื™ืฆื˜ ืคึผืจืึธื˜ืึธืงืึธืœืก ืื™ื– ืœื™ืกื˜ืขื“ ืื™ืŸ ืคึผืจื•ื™ืขืงื˜ ื•ื•ืขื‘ื–ื™ื™ึทื˜ืœ).

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

ืจืขืคึฟืขืจืขื ืฆืŸ

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

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