반응형 nestjs4 모니터링의 중요성 : 성능 비교의 기회 웹 애플리케이션 개발에서 성능 최적화는 사용자 경험과 서비스 안정성에 직접적인 영향을 준다고 생각합니다. 하지만 성능을 최적화하려면 현재 시스템의 상태를 정확히 파악하는 것이 필수적입니다. 여기서 모니터링의 중요성이 부각됩니다. 최근 저의 경험을 바탕으로 모니터링이 얼마나 중요한 역할을 하는지 공유하고자 합니다. 상황 배경이전 상황: ASP.NET 환경에서 프론트엔드와 백엔드 로직을 모두 처리.수정된 상황: Next.js에서 NestJS 서버를 거쳐 .NET 서버로 요청이 전달되어 로직이 실행된 후 결과를 반환.새로운 아키텍처로 전환한 후 데이터베이스에 부하가 걸리기 시작했습니다. 비효율적인 쿼리문을 찾아내고, .NET 서버로 가던 요청을 NestJS로 이전하여 개선을 시도했지만, 서버 간의 속도 차이로.. 2024. 11. 8. [Monorepo] Monorepo 환경에서 ts-rest, zod, 그리고 tRPC 사용에 대한 고찰 최근 프로젝트에서 monorepo 구조를 채택하여 클라이언트와 서버 코드를 함께 관리하고 있습니다. 클라이언트는 모두 Next.js로 작성되었고, 서버는 NestJS를 사용하고 있습니다. 현재는 ts-rest와 zod를 활용하여 타입 안전성과 데이터 유효성 검사를 구현하고 있지만, tRPC를 알게되었고 도입하는 것이 좋을지 고민이 되었습니다. 이에 따라 각 도구의 장단점을 분석하고, 우리의 프로젝트 환경에 가장 적합한 선택을 찾아보았습니다. ts-rest와 zod의 조합 장점타입 안전성 강화: ts-rest를 통해 서버와 클라이언트 간의 타입을 공유할 수 있어 런타임 오류를 줄일 수 있습니다.유효성 검사: zod를 사용하여 입력 데이터의 유효성을 검증함으로써 안정적인 API를 구축할 수 있습니다.R.. 2024. 9. 20. STORIFY (0117) - 기술적 챌린지 ### 기술적 챌린지로 생각할 만한 것들 성능/최적화 느림 -> 빠르게 많음 -> 적게 비용 많음 -> 비용 적게 과부하 개선 (연산량/메모리)아키텍쳐 개선 부하분산 -> 개선 연산량/대상 줄이기 lazy loading (속도/용량 - 한꺼번에 처리가 어려우니, 쓸때 실행) eviction전략 (한정된 자원을 어떻게 효과적으로 사용할지…) 빈번한 접근 (캐싱) 서버다운/크래시 (메모리누수/메모리 부족) -> 스왑크기 조절 응답속도 느림 -> ... -> 빠르게 끊어지는 화면렌더링 -> 개선 -> 부드러운 화면렌더링 매우 많은 이벤트발생 -> 전부 처리하면 느려짐 -> 이벤트의 변화는 수집주기 조절 (throttling, debouncing) 알고리즘 적용 서비스의 특정 기능을 1-4주차 알고리즘을 적용해.. 2024. 1. 17. STORIFY (0116) - DB Schema 설계 . ├── app.controller.spec.ts ├── app.controller.ts ├── app.module.ts ├── app.service.ts ├── auth │ ├── auth.controller.spec.ts │ ├── auth.controller.ts │ ├── auth.http │ ├── auth.module.ts │ ├── auth.service.spec.ts │ ├── auth.service.ts │ ├── dto │ └── strategies ├── common │ └── guards ├── main.ts ├── swagger.config.ts └── users ├── dto ├── schema ├── users.controller.spec.ts ├── users.control.. 2024. 1. 16. 이전 1 다음 728x90 반응형