티스토리 뷰
RabbitMQ 를 깔고 준비를 마쳤으니 예제를 해봅니다.
기본준비 : java 1.8, Spring boot 2.0
부트스트랩은 webjar 방식으로 사용 예정.
기본 스프링 boot 세팅은 Spring 사이트에서 지원해주는 Initialize 서비스를 이용해 받기로 합니다.
https://start.spring.io/
출처: http://jieero.tistory.com/31 [서울청년, 제주소년.]
기본준비 : java 1.8, Spring boot 2.0
부트스트랩은 webjar 방식으로 사용 예정.
기본 스프링 boot 세팅은 Spring 사이트에서 지원해주는 Initialize 서비스를 이용해 받기로 합니다.
https://start.spring.io/
출처: http://jieero.tistory.com/31 [서울청년, 제주소년.]
기본준비 : java 1.8, Spring boot 2.0, Gradle 구조로 진행이 됩니다.
역시나 기본 스프링 boot 세팅은 Spring 사이트에서 지원해주는 Initialize 서비스를 이용해 받기로 합니다.
https://start.spring.io/
디펜던시는 Web 과 RabbitMQ를 검색해서 선택해 줍니다.
물론 나중에 필요한 것들은 gradle에서 추가해 주면 됩니다.
여기서 잠깐 RabbitMQ 기본적인걸 알아보면,
Producer(Sender)가 메세지를 보내면, eXchange에서 해당하는 키에 맞게 큐에 분배를(바인딩 or 라우팅) 하고, 해당 큐에서 Consumer(Receiver)가 메세지를 받습니다.
여기사 각 Queue와 라우팅간에는(바인딩) N:M, 여러곳의 큐와 라우팅간에 연결이 가능하다.
쉽게 말해서 우편시스템과 비슷하다. 특정 주소로 편지를 보내면 우체국을 통하여 해당 주소로 배송이 되고, 각 주소는 여러 곳에서 편지를 받을 수 있다. 개념비슷.
바인딩 방식은 기본적으로 3가지가 있는데, 전체 전달, 키 일부분 일치시 전달, 키가 정확히 일치시 전달이 있는데 보통 일부분 일치 방식이 기본적이다.
+ Direct : RoutingKey = eXchange 같을때 전달
+ Topic : RoutingKey과 eXchange 일부 패턴이 같을때 전달
+ Fanout : 전체 전달
프로젝트 기본 구조입니다.
간단하게,
SpringRabbitMqApplication 에서 이니셜라이즈 - application.yml 에서 rabbit 설절값들을 읽어서 RabbitConfigReader에 기록.
시작하면서 RabbitMQ 리스너들을 대기.
UserController 에서 메세지를 받으면 입력된 라우팅 키로 MassageSender 통해서 전달.
https://github.com/Jayden-Song/springRabbit
- Total
- Today
- Yesterday
- 로얄보타닉가든
- 방콕
- 스탠다드호텔
- 코알라
- Columbus
- Naim
- A7
- 라이딩
- 우쿨렐레
- 에어플레이
- 시드니
- 본다이비치
- tommasini
- 멜버른
- Reynolds
- 오블완
- singleo
- 서리힐스
- 동방항공
- 호주
- 3대커피
- 오페라하우스
- 무선
- 하버브릿지
- 싱글오
- 튜빙
- 티스토리챌린지
- 오크베일
- 뮤조
- 싱가포르
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |