2024-08-06 MSA (Microservices Architecture) - 12

목표
- Producer-Consumer Pattern에 대해 이해한다.
Producer-Consumer Pattern
- Multi-threading 환경에서 데이터를 생성하고 소비하는 역할을 분리하여 효율적으로 동시성을 관리하는 패턴이다.
- 데이터의 일관성을 유지하고, Thread 간의 충돌을 방지하기 위해 동기화 메커니즘을 사용한다.
주요 구성 요소
Producer
- 이벤트 발행의 주체이다.
- 생성한 데이터를 Message Queue에 넣는다.
Consumer
- 이벤트 처리의 주체이다.
- Message Queue에서 데이터를 꺼낸 후 이를 처리한다.
Message Queue
- Producer와 Consumer가 데이터를 주고받는 중간 매개체이다.
- Producer와 Consumer가 동시에 버퍼에 접근하지 않도록 동기화가 필요하다.
섬네일 출처 - 'http://sjava.net/2016/08/%EC%9E%90%EB%B0%94%EB%A1%9C-%EB%8B%A4%EC%A4%91-%EC%9E%91%EC%97%85%EC%9D%84-%ED%9A%A8%EA%B3%BC%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EB%93%A4/'
참고 블로그 1 - 'https://internet-craft.tistory.com/48'
참고 블로그 2 - 'https://hochoon-dev.tistory.com/entry/Java-Producer-Consumer-%ED%8C%A8%ED%84%B4-%EA%B5%AC%EC%A1%B0'