[CS] Pubsub

Posted by qwlake on March 5, 2021

Pubsub

Spring Integration; Spring에서 lightweight messaging을 가능하게 하고 외부 어플리케이션과 통신할 수 있는 수단을 제공한다

Spring Integration

docs.spring.io

Producer-Consumer Pattern과 비슷하지만, 해당 패턴의 경우 다음의 문제점이 있음

  1. 여러 consumer가 queue의 자원에 동시에 접근할 경우 문제가 발생할 수 있음
    • 세마포어와 모니터로 해결한다고 하지만 근본적인 해결책은 아님
  2. consumer가 가만히 있다가 msg를 받는 것이 아니라, msg를 queue로부터 요청해야함

따라서 별도의 어플리케이션을 두고 이것이 메세징을 담당하도록함 → pub-sub에서의 broker

Redis - spring-data-redis : 발행/구독(pub/sub) 모델의 구현

Publish/Subscribe vs Producer/Consumer?

Java(자바) BlockingQueue - Producer 및 Consumer 패턴 예제

구현코드

https://github.com/qwlake/oscar/tree/main/pub-sub