[Side] 해,커리어 예선 탈락 후기

[Side] 해,커리어 예선 탈락 후기

예선 진출 50만원 만족

해,커리어 본선 진출에 실패했다. 그래도 나름 마이크로 서비스 구조를 적용해봐서 좋은 경험이 되었던 것 같다.

시스템 구성도

서비스는 SNS라고 생각하면 될 것 같다.

SCG를 사용해서 게이트 웨이를 구성했고 Eureka를 사용해서 서비스 디스커버리를 구현했다. 원래 게이트웨이로 zuul을 사용하려고 했지만 zuul이 maintain이 되어서 다른 버전에서도 사용할 수 있는 SCG를 사용하는게 적합하다고 생각되어 zuul을 사용하지 않았다.

꾸역꾸역 버전 맞춰서 zuul gateway 만들었지만 눈물을 머금고 교체했다.

각 서비스 간의 연결은 restTemplate를 사용했는데 eureka랑 같이 사용해 서비스 이름으로 호출할 수 있어 편리한 것 같다.

구성도에는 나와있지 않지만 spring config를 사용해서 서비스의 구성을 github에서 받아올 수 있도록 하였다.

개발환경

문제점

docker를 사용해서 이미지를 생선한 후에 서버에서 run을 해주는 방식으로 배포했다. 그런데 eureka에서 해당 서비스의 ip 주소를 docker 내부 주소를 받게되어서 다른 서비스에서 해당 서비스로 접근을 할 수 없었다. 이를 해결하기 위해서

eureka: instance: ipAddress: 52.79.130.111

이런식으로 application.yml에 구성을 추가해주는 식으로 해결했다.

그런데 이렇게 사용하게 되면 유레카를 사용하는 의미가 없어지는게 아닌가하는 의문이든다.

이 부분은 더 적합한 해결 방법을 찾아봐야한다.

그리고 마이크로 서비스에서 "마이크로"의 기준이 너무 애매한 것 같다.

반응형

from http://zzzinho.tistory.com/115 by ccl(A) rewrite - 2021-11-30 17:01:54