Spring Cloud Bus:
분산 시스템의 노드를 경량 메시지 브로커와 연결
상태 및 구성에 대한 변경사항을 연결된 노드에게 전달(broadcast)
Feign Client란?
1. Feign Client는 web service 클라이언트를 보다 쉽게 작성할 수 있도록 도와준다.
2. interface를 작성하고 annotation을 붙여주면 세부적인 내용 없이 사용할 수 있기 때문에 코드 복잡도가 낮아짐.
3. Netflix에서 만들어졌고, spring-cloud-starter-openfeign으로 스프링 라이브러리에서 사용할 수 있다.
카프카kafka 란?
1. 메시징 시스템
2. 대용량, 대규모 메시지 데이터를 빠르게 처리할 수 있는 메시징 시스템
(링크드인에서 시작)
카프카는 기본적으로 publish-subscribe 모델을 구현한 분산 메시징 시스템이다. publish-subscribe 모델은 데이터를 만들어내는 프로듀서(producter,생산자), 소비하는 컨슈머(consumer,소비자) 그리고 이 둘 사이에서 중재자 역할을 하는 브로커로 구성된 느슨한 결합(Loosely coupled)의 시스템이다.
-발신자(publish): 카프카에게 데이터를 전송하기만 하면 된다. 누가 받을지는 신경 안씀.
-수신자(subscribe): 수신자는 카프카에 원하는 토픽을 구독한다. 그래서 누가 보냈는지 신경 안 쓰고, 필요한 메시지만 구독하는 방식. 이전 point to point구조에 비해 매우 단순해지고 유지보수, 에러발생, 네트워크 트래픽의 장점까지 얻음.
프로듀서는 브로커를 통해 메시지를 발행(publish)한다. 이 때 메시지를 전달할 대상을 명시하지는 않으며 관련 메시지를 구독(subscribe)할 컨슈머가 브로커에게 요청하여 가져가는 식이다. 마치 블로그 글을 작성하여 발행하면 블로그 글을 구독하는 독자들이 따로 읽어가는 형태를 생각하면 된다.

카프카의 용도:
파이프라인 사례
