Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 19634|Відповідь: 1

[Бібліотека плагінів] Демонстрація черги надсилання та отримання повідомлень

[Копіювати посилання]
Опубліковано 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: робота не дозволена»
Наступний:Вступ до дев'яти традиційних програм зору
Опубліковано 31.05.2019 09:12:21 |
Найкраще завантажити демо-вихідний код статті до:https://down.itsvse.com/
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com