-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1주차]_1장_사용자 수에 따른 규모 확장성_Redis #5
Comments
@ziwooda 실제 기업(쿠팡)에서 수많은 도메인들이 얼키설키 엮여져 있는 상황과 엄청난 대규모 트래픽들을 어떠한 시스템 아키텍처를 구성해서 해결하는지 또 해당 아키텍처를 구성하면서 직면했던 문제점과 해결점들에 대한 영상을 보고 정리해봤습니다. 팀원분들도 한 번 보시고 인상깊었던 점, 같이 얘기해보고 싶은 점 공유해주시면 감사하겠습니다. 개인적으로 인상깊었던 점 3가지 1. 수십가지의 도메인이 엉킨 것을 "하나"의 코어 서빙 레이어로 구성2. Cache Layer를 두고도 RealTime Cache Layer를 별도로 구성한 점. ( 캐시 레이어에서 전체 트래픽의 95% 담당)3. 다운된 캐시 노드들을 full sync, recovery 하는 과정에서 닥친 문제점과 해결점 |
추가 공부하면서 읽어본 글입니다! Redis 사용 기업 리스트 About Redis 이벤트 기반 아키텍처 (feat. Redis, DynamoDB, Kafka) |
https://brunch.co.kr/@springboot/374
https://server.happykoo.net/uploads/202006/blob1591444616237 그러면 굳이 왜쓰는거야?이유 : 웹소켓을 사용해 통신할 경우 추가적인 네트워크 리소스가 들어가 딜레이가 존재할 수 있지만 레디스는 in-memory기에 매우 빠르게 메시지 전송 가능 따라서 현재 접속 중인 클라이언트에게 짧고 간단한 메시지를 빠르게 보내고 싶을 때, 그리고 전송된 메시지를 따로 저장하거나 수신확인이 필요 없을 때, 마지막으로 100% 전송 보장은 하지 않아도 되는 데이터를 보낼때 이용하면 괜찮다. |
@ziwooda 1주차에서 데이터베이스 다중화에서 다뤘었죠? 3조 윤가영님께서 해당 부분 노션에 남겨주셔서 여기에도 공유합니다.
요약1. 슬레이브를 두는 것 자체로는 주 서버에 대한 부하가 경미함주 서버가 복제 환경에서 주로 하는 일 2가지
-> 위의 이유가 큰 비용이 아닌 이유 : 이진로그를 복제하는 것을 복제의 비용으로 여기지 X -> 복제를 하지 않더라도 항상 이진 로깅을 켜놓아야 하기 때문에 문제 해결 및 복구 도구로서 극히 가치 있는 기능 2. 슬레이브에게 로깅을 전송하는 비용 역시 적음주 서버는 슬레이브와 TCP 연결을 유지하며, 주 서버는 이벤트가 발생할 때 데이터를 소켓에 복사하기만 하면됨 3. 어떤 경우에도 주 서버는 슬레이브에서 실제로 업데이트를 실행하는 것은 아님 (중요!!)주 서버는 단지 슬레이브에게 두 가지 중 하나를 전송 : (1) 실제 실행된 쿼리의 사본 또는 (2) 각 쿼리에서 실제로 삽입/업데이트/삭제된 행들의 데이터. --> 여기서 (2)를 수행하는 과정에서도 위에서 언급한 이진로그를 기록하는 주 서버는 모든 이벤트를 매번 새롭게 갱신하는 것이 아니라 "실제로 변경"이 이루어진 것만 선별해서 기록, 데이터 변경 내역을 효율적으로 "압축" 하여 전송, 여러 개의 슬레이브에게 "병렬적" 으로 분산 전달 참고로, 여기서 말하는 다중화는 데이터원본을 저장하는 주 서버(MasterDB)와 사본을 저장하는 부 서버(SlaveDB)를 의미합니다. ( 책 P7 ) |
1차 스터디(8/20) 후 추가적으로 공부하고 싶은 주제 선정
1. 메시지큐 로직 및 디자인 패턴 조사
2. 캐싱 전략 및 실제 기업 적용 사례 탐구
ref: https://zeromq.org/, https://www.rabbitmq.com/, https://aws.amazon.com/ko/builders-library/caching-challenges-and-strategies/
The text was updated successfully, but these errors were encountered: