Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2023
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. Паттерн "Poison Pill" - это шаблон проектирования, который применяется в распределенных системах для безопасного завершения работы потребителя сообщений (например, воркера) при получении специального сообщения, обозначенного как "ядовитая пилюля" (poison pill). Этот паттерн часто используется для гарантии корректного завершения обработки сообщений при штатном завершении работы системы или при возникновении ошибок.
  2.  
  3. Пример использования паттерна "Poison Pill" с использованием PlantUML:
  4. @startuml
  5.  
  6. actor Producer
  7. actor Consumer
  8.  
  9. queue Queue
  10.  
  11. Producer -> Queue: Message 1
  12. Producer -> Queue: Message 2
  13. Producer -> Queue: Message N
  14. Producer -> Queue: Poison Pill
  15.  
  16. Consumer -> Queue: Consume Message 1
  17. Consumer -> Queue: Consume Message 2
  18. Consumer -> Queue: Consume Message N
  19. Consumer -> Queue: Consume Poison Pill
  20. Consumer -> Consumer: Terminate
  21.  
  22. @enduml
  23. На данной диаграмме показаны два актора: Producer (производитель) и Consumer (потребитель). Производитель отправляет сообщения в очередь, которые затем потребитель обрабатывает. Производитель также отправляет специальное сообщение "Poison Pill" в очередь, которое сигнализирует о необходимости завершения работы потребителя.
  24.  
  25. Когда потребитель получает сообщение "Poison Pill", он должен завершить обработку текущих сообщений, если таковые есть, и безопасно завершить работу. Это позволяет гарантировать корректное завершение работы системы и предотвращение потери данных или некорректной обработки сообщений.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement