본문 바로가기

전체 글190

카프카를 사용한 이벤트 아키텍처 구현 영상 정리 이벤트 파이프라인 순서보장: 토픽의 파티션을 통해 key 별로 순서 보장 Ex)배달번호 고성능 고가용성: 실시간 이벤트를 처리할 고성능 고가용성 제공 카프카에서는 파티션 증설을 통한 처리량 증대 메시지 배치 발행, 페이지 캐시 또한 브로커를 클러스터로 관리함으로서 한대의 브로커에 이슈에 생겨도 다른 브로커에서 파티션을 처리하게 함으로써 고가용성을 보장 통합도구 카프카 스트림즈, 카프카 커넥트 통합이나 확장이 필요할때 전단팀 지원 카프카 클러스터 관리, 모니터링 및 지원도구 제공 팀 존재했음 Transactional outbox Pattern은 이벤트 기반 아키텍처에서 사용되는 패턴임 발행해야 할이벤트를 도메인 처리 트랜젝션과 묶어 아웃박스테이블에 저장 이를 통해 도메인의 상태와 발행해야할 이벤트간의 일관.. 2024. 1. 10.
트래픽 증가 대응 고려 트래피 증가 대응 고려 비용 장비를 무턱대고 늘릴순 없음 무턱대고 기술을 막 쓸순 없음 복잡도를 막 증가시켜 해결해야할 수준의 트래픽은 아님 db부하 줄이기 db로 가는 트래픽 감소시키기 인메모리 캐시 확대 변경이 적은/ 없는, 규모가 작은 데이터 DB크기 증가율 줄이기 고객사로 가는 트래픽 감소시키기 방법 고민 -외부 메모리 캐시 적용(레디스) 외부 조회 데이터 미리 넣기(변경이 적은/없는) 푸시 제어 -고객사별 푸시 발송 속도제어, 확대 적용 외부메모리 캐시 적용-외부 조회 데이터 미리넣기(변경이 적은/없는) 푸시제어 - 고객사별 푸시 발송 속도 제어, 확대적용 -고객사들의 상태를 봐가면서 적용 특정 기능단위로 트래픽을 제한하거나 서킷브레이커를 적용 응답시간이 일정횟수 이상 느려지면 에러 응답을 내뱉.. 2024. 1. 10.
테스트 의존성/ 종류 및 처리 정리 테스트가 디비 의존성이 필요할때 Mock을 쓰냐, 쓰는데 어떤 식으로 쓰느냐 Validation 같은 경우, 가장 저비용이므로 그냥 씀 reviewRepo 통합 테스트 2024. 1. 10.
대규모 트래픽 -캐시 영상 정리 캐시- 리버스 프록시 캐시 로컬 캐시 글로벌 캐시 Local cache 짜줘 필요한 기능은 set, get, purge, LRU, LFU 기능이야 Next’s SSR 이 부분에 관해서 성능테스트를 딱 진행했는데 트래픽이 확올라가다가 우수수수 떨어졌음 17TPS 정도 나와서 이걸 어떻게 해야되나? 싶었는데 어 캐시를 써 캐시 및 로드 밸런싱 캐시를 이용해서 대용량 트래픽을 대응하는 방법에 대해 설명하겠습니다 어디가 가장 속도가 느릴까? 이 부분이 속도가 가장 느림 왜 느릴까? 데이터 베이스 쪽에는 데이터에 접근 하는 시간이 오래 걸림 Network, Disk IO API 호출하는 부분에는 1. 외부 API 로직 실행, 인프라 연동 API 호출해야 되는 콜을 받는 쪽은 또 Netowork, DIsk IO가 .. 2024. 1. 9.