도입이라는 단어를 쓰니 거창하지만
가계부에서 실시간 알림
또는
누군가 가계부를 사용하고 있을 때 알려주는 용도로 사용하기 위해 소켓 통신을 사용하기로 하였는데
기본적으로 요만큼에서는 쿠버네티스를 사용하여 다중서버를 염두에두고 있기 때문에
메세지큐를 이용해 데이터를 동기화해주는 것이 중요했고
많은 메세지큐 서비스 중에서도 "Kafka"를 이용해보기로 했다.
이유는 여러가지가 있지만
사이드 프로젝트의 묘미는 안써본 기술 사용해보기가 아니겠는가?
카프카는 대규모 서비스에서 많이 사용하는 만큼 경험해두면 분명 도움이 될 거라고 생각했고
요만큼이 대규모 서비스가 안 되리란 보장도 없고 (^^)
겸사겸사 도입해보기로 했다.
내가 생각해본 서버 구조
- 로그인할때 소켓이 연결되고 로그아웃하면 연결이 끊긴다.
- 요만큼 서버는 컨슈머 입장으로 "가계부"토픽을 구독하게 하려고 한다.
만약 "가계부-A"에서 쓰기 이벤트가 발생하면...
- 요만큼 서버에서 카프카 프로듀서용 서버에게 데이터 기록을 요청한다.
- 프로듀서 서버는 카프카에 데이터를 기록한다.
- 카프카 서버에 "가계부-A" 토픽이 기록된다. 그러면 "가계부-A" 를 구독한 서버(컨슈머)에서 기록된 메시지를 읽는다.
이런 구조로 만들어보려고한다.
어려워도 뭐든 하면 되긴 하더라고.
그니까 해봐야지.
728x90
'프로젝트 > 개인 프로젝트) 요만큼' 카테고리의 다른 글
JWT 인증 방법을 수정했다! (0) | 2024.03.15 |
---|---|
요만큼 ) 여전히 개발 진행중 (0) | 2024.03.02 |
refactor ) 예외 상황을 좀 더 멋지게 처리해보자! (1) | 2024.02.01 |
refactor ) 요만큼 프로젝트 리팩토링을 하자 ! (0) | 2024.01.18 |
새로운 백엔드 개발자님이 바로? 그리고 JWT ... (1) | 2023.11.07 |