IT 개발 관련/[TIL]

[항해 취업 리부트 코스] 개인프로젝트 3주차 WIL

Baileyton 2024. 7. 8. 21:08
728x90
  • 이번 주 항해 취업 리부트코스에서 내가 구현한 기능은 무엇인가요?
    • MSA 도입, 서비스별로 분리 중
    • Redis 구현 중
  • 해당 기능을 구현하기 위해, 어떤 기술적 의사결정을 거쳤나요?
    • API Gateway
      • Spring Cloud Gateway
        • 장점:
          • Spring 생태계와의 통합성: Spring Boot, Spring Security 등과의 원활한 통합.
          • 강력한 라우팅 및 필터 기능: 다양한 라우팅과 필터를 통해 요청을 세밀하게 제어 가능.
          • Reactive 프로그래밍 지원: 고성능 비동기 프로그래밍 모델 제공.
          • 확장성: 커스터마이징이 용이하여 다양한 요구사항에 맞출 수 있음.
          단점:
        • 복잡성: Spring Boot와 Spring Cloud의 학습 곡선이 존재.
        • Spring 종속성: Spring 생태계를 사용하지 않는 환경에서는 부적합.
      • NginX
        • 장점:
          • 성능: 높은 성능과 낮은 리소스 사용.
          • 유연성: 다양한 설정 옵션과 모듈을 통한 확장성.
          • 광범위한 사용: 커뮤니티와 문서가 풍부하여 문제 해결이 용이.
          단점:
          • 설정 복잡성: 복잡한 설정 파일과 낮은 직관성.
          • 기능 제한: Spring Cloud Gateway 같은 고급 기능 제공 어려움.
      • Kubernetes Ingress Controller
        • 장점:
          • Kubernetes와의 통합: Kubernetes 네이티브로, 클러스터 내부 서비스와의 원활한 통합.
          • 자동 스케일링: Kubernetes의 자동 스케일링 기능 활용.
          • 다양한 Ingress Controller: Nginx, Traefik, Istio 등 다양한 선택지.
          단점:
          • 복잡성: Kubernetes를 운영해야 하는 부담.
          • 관리 오버헤드: 클러스터 관리와 함께 추가적인 설정 및 관리 필요.

Spring Cloud Gateway 채택

Spring 생태계와의 통합: 기존 프로젝트가 Spring Boot를 사용하고 있어 통합이 용이하고, Spring Security와의 연계도 원활합니다.

강력한 라우팅 및 필터 기능: 다양한 요구사항을 만족시킬 수 있는 세밀한 요청 제어가 가능합니다.

Reactive 프로그래밍 지원: 비동기 처리로 고성능의 API Gateway를 구현할 수 있습니다.

확장성 및 커스터마이징 용이성: 필요에 따라 기능을 확장하고 커스터마이징할 수 있습니다.

 

  • 이번 주 겪은 트러블 슈팅이 있다면 무엇인가요?
    • MSA 분리하면서 User 서비스에서 jwt 토큰을 분리했었는데
  • 이번 주 진행된 개인 프로젝트에서 얻은 인사이트는 무엇인가요?

MSA(Microservices Architecture) 도입 시 각 서비스 간의 효율적인 통신 방법에 대한 중요성과 특히, 프로젝트 기간이 짧다는 상황에서 OpenFeign을 사용한 API 호출 방식이 유용하다는 점을 배웠습니다. OpenFeign은 각 서비스의 API를 클라이언트 코드에서 자연스럽게 호출할 수 있도록 해주며, 이를 통해 개발 시간을 단축하고 코드의 가독성과 유지보수성을 높일 수 있습니다.

 

  • 항해 개발자 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
 

IT 커리어 성장 코스 항해99, 개발자 취업부터 현직자 코스까지

항해99는 실무에 집중합니다. 최단기간에 개발자로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.

hanghae99.spartacodingclub.kr

 

728x90