|
|
Опубліковано 30.05.2019 22:58:30
|
|
|
|

Передмова
У деяких місцях для забезпечення точності обробки інформації використовуються черги повідомлень. Наприклад, у ситуаціях високої паралелізації вебсайти виконують обробку даних. Сьогодні ця стаття містить просте демо RabbitMQ. Перед входом у цю статтю середовище RbMQ потрібно встановити заздалегідь (оскільки я вже встановлював локальне середовище RbMQ і боюся, що видалення призведе до проблем із нечистим реєстром, тому я не буду записувати встановлення середовища тут).
Середовище та інструменти
>Система Windows 10
>Екологічні послуги RabbitMQ
>VS 2017
Текст
1: Створити два нові консольні додатки: «RabbitMQClient» та «RabbitMQServer».
2: Зверніться до dll "RabbitMQ.Client"
3: У проєкті RabbitMQClient, Program.cs, вставте наступний код
4: У проєкті RabbitMQServer, Program.cs, вставте наступний код
5: F5 для початку проєкту RabbitMQServer, у консолі введіть інформацію, натисніть Enter.
6: Не закривайте консоль проєкту RabbitMQServer, клацніть правою кнопкою миші на проєкті RabbitMQClient - > "Debug" - > "Start a new instance"
Ви можете ввести інформацію в консоль RabbitMQServer праворуч, щоб відобразити її зліва. Проєкт RabbitMQServer створює повідомлення. Проєкт RabbitMQClient обробляє (споживає) повідомлення. Це виробник і споживач у черзі повідомлень. Код також включає маршрутизацію та канали.
З боку виробника повідомлення покладіть інформацію для обробки у чергу повідомлень. Після отримання повідомлення споживач може обробляти ці дані відповідно.
Якщо середовище встановлене, локальна адреса порту за замовчуванням має бути http://localhost:15672/#/queues. Ви можете безпосередньо отримати доступ до гостьового акаунта або налаштувати обліковий запис і відповідні дозволи, натиснувши командний рядок.
Інформація, яку ви щойно ввели в консоль RabbitMQServer, насправді спочатку знаходиться в черзі повідомлень, ви можете спочатку закрити вікно RabbitMQClient, а потім ввести кілька деталей у вікно, спостерігати за чергою повідомлень і побачити, що в черзі є три частини даних.
Коли наше вікно RabbitMQClient запускається, повідомлення автоматично зникає з черги повідомлень після нормального отримання. Це механізм підтвердження черги повідомлень: коли потрібна інформація буде отримана точно, споживач поверне стан у чергу повідомлень, щоб знищити повідомлення. Якщо споживач не отримує повідомлення або є виняток і не повертає це значення статусу, повідомлення залишатиметься в черзі, доки воно не буде використане нормально, що гарантує точність повідомлення.
Епілог
На жаль, дуже мало місць, де я використовую черги повідомлень у своїх проєктах. Без глибокого розуміння використовуватимуться лише основи.
У наведеному вище демо є прогалина, а з'єднання RbMQ у RabbitMQClient має певний рівень використання. Оскільки це асинхронний потік, це призведе до запуску та повторення RbMQ з'єднання до завершення отримання повідомлення, і буде зафіксовано помилку. Як з цим впоратися: видаляйте через використання і відпускайте вручну.
|
Попередній:"npm ЕРР! Помилка: EPERM: робота не дозволена»Наступний:Вступ до дев'яти традиційних програм зору
|