본문 바로가기

Web5

외부 api 의존성 처리 (비동기) 정리 프로모션 참여하고 포인트 받기 기능 포인트를 받기 위해 외부 api 연동 수행 연동 오류로 인한 대응 최소화하기 오류 최소화 범위 포인트 API 직접 호출 제거 API 호출 대신 DB에 적립 요청 저장 -요청 데이터가 사라지지 않음 (트랜젝션 적용) - 처리기/포인트 API에 일시적으로 문제가 있어도 언젠가 지급함 포인트 API 연동 제거 - 실패 처리 복잡도 감소 적립 처리기 요청 테이블 Api 호출에 필요한 데이터를 포함 처리 상태 칼럼 포함 프로모션 서비스에 점진적 적용 프로모션 서비스, 캐시 서비스(인터페이스로 변경) DbCashService(개발에 적용) , ApiCashService(운영에 적용) 향후에 DbCashService를 개발과 운영에 적용하고 ApiCashService를 삭제 예정 .. 2024. 1. 11.
대용량 트래픽 접근 방법 정리 대용량 트래픽에 대한 대응 방법 간단간단하게는 Apache benchmark, jmeter로 혼자 서비스를 만들면서 트래픽 부어보기 제대로 하라면 nGrinder 세팅해서 해보기 어떤 정도가 대용량 트래픽인가? 대용량 트래픽의 무섭고 재밌는 점은 계속 커진다는 것 5만TPS -> 내일은 7만 TPS-> 10TPS ‘적절함’을 어떻게 키울 수 있냐 큰큰회사 다니면서 대용량 트래픽 경험했던 사람이 작고작은 스타트업 이벤트를 해야하는데 캐시 스토리지나 분산처리, 돈으로 때우면 되지 않냐 돈으로 때워서 해결할 수 있다면 행복한 문제겠지만… 이런 애기만 하고 있다면 아니 우리 그런거 없고 시간도 없고 관리할 사람도 없고 일단 이거 어떻게 매꿔야 한다. 했을때 도움이 안되는 경우도 있음 TPS가 5천이 나오는데 이.. 2024. 1. 10.
테스트 의존성/ 종류 및 처리 정리 테스트가 디비 의존성이 필요할때 Mock을 쓰냐, 쓰는데 어떤 식으로 쓰느냐 Validation 같은 경우, 가장 저비용이므로 그냥 씀 reviewRepo 통합 테스트 2024. 1. 10.
부하테스트 도구 grafana k6 https://blog.outsider.ne.kr/1610 부하 테스트 도구 Grafana k6 :: Outsider's Dev Story [k6](https://k6.io/)는 [Grafana Labs](https://grafana.com/)에서 만든 오픈소스 부하 테스트 도구(load testing tool)이다. 부하 테스트는 간단히 쓸 수 있는 [ab](https://httpd.apache.org/docs/2.4/ko/prog... blog.outsider.ne.kr grinder 등은 유명해 알고 있었지만 grafana는 사용해 본 적 이 없었습니다. 특히 현재 진행하고 있는 프로젝트는 각 화면 뷰를 기준으로 서버리스로 변경하고 모듈화하는 것이 목표라 특별히 별도로 진행하지 않았었는데요, 아웃사.. 2022. 7. 31.