[항해 취업 리부트 코스] 개인프로젝트 2주차 후기

김재중·2024년 4월 30일
0

항해99

목록 보기
18/18
  • 이번 주 항해 취업 리부트코스에서 내가 구현한 기능은 무엇인가요?
    - 모놀리틱서비스를 msa로 전환하기 위한 기술을 공부하고 서버를 나누는 중입니다.
  • 해당 기능을 구현하기 위해, 어떤 기술적 의사결정을 거쳤나요?
    • 고민한 기술의 종류들에는 무엇이 있나요?
      • spring cloud gateway로 라우팅을 설정해서 각 msa로 api를 전달하는 과정을 블로킹방식을 사용할지 논블로킹방식을 사용할지 고민했습니다.
      • 서비스간 통신을 위해 resttemplate, webclient, open feign 중 어떤 것이 내 프로젝트와 적합할지 고민했습니다.
    • 위 기술들별로 각각의 장단점이 있다면 무엇인가요?
      • API GATEWAY는 모든 요청이 통과하는 곳이기 때문에 성능적인 측면이 매우 중요합니다. 그래서 기존의 1THREAD / 1REQUEST 방식인 SPRING MVC를 사용할 경우 성능적인 이슈가 발생할 수 있습니다. 때문에 비동기 방식인 Netty를 사용해 1THREAD / MANY REQUESTS 방식으로 기존 방식보다 더 많은 요청을 처리할 수 있는 장점을 가지고 있지만 비동기 방식인 netty를 사용하면 spring Webflux학습이 따로 필요해서 일단 srping mvc로 구현하기로 했습니다.
      • RestTemplate은 동기적인 방식으로 요청을 처리하고, WebClient는 비동기 및 반응형 방식으로 요청을 처리하며, OpenFeign은 선언적 방식으로 RESTful 서비스 간의 통신을 단순화하여 구현합니다. OpenFeign의 경우 msa관점안에서 많이 구현해놓은 라이브러리라 OpenFeign을 사용하기로 했습니다.
  • 이번 주 겪은 트러블 슈팅이 있다면 무엇인가요?
    • 문제와 원인은 무엇이었나요?
    • 해당 문제를 해결하기 위해 어떤 고민과 시도가 있었나요?
    • 어떤 방법으로 트러블 슈팅을 해결했나요?
  • 이번 주 진행된 개인 프로젝트에서 얻은 인사이트는 무엇인가요?
    - MA를 MSA로 전환하면서 새로운 기술들을 배우고 적용하는 과정에서 많은 인사이트를 얻었습니다.

항해 개발자 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
https://hanghae99.spartacodingclub.kr/reboot

profile
안녕하세요!

0개의 댓글