본문 바로가기

ribbon2

뭐? MSA? 그렇다면 고가용성을 보장해보자! Load Balancer. - 04 Load Balancer MSA는 요즘과 같이 클라우드 환경에서 동작하기에 매우 적합한 아키텍처라고 생각합니다. AWS와 같은 클라우드 서버를 제공하는 서비스에서도 트래픽이 늘어날 경우 오토 스케일링이라는 작업을 해줍니다. 이처럼 MSA는 서비스의 고가용성을 위해 동일한 서비스를 여러대를 두는 Scale-out을 쉽게 할 수 있습니다. 그렇다면 여러개의 서비스 중 과연 어떤 서비스에 Request를 해야 할까요? API Gateway에서는 특정 url 경로에 맞는 서비스로 라우팅되었습니다. 그러면 동일한 서비스에서는 어떻게 각각 라우팅을 할 수 있을까요? Netflix에서 제공하는 Ribbon을 사용하면 서버 목록을 번갈아가면서 호출 할 수 있습니다. Ribbon Ribbon is a Inter Proc.. 2021. 4. 19.
뭐? MSA? 그렇다면 다른 서비스를 호출해보자 Service Mesh. - 02 이전에는 MSA의 기본인 Gateway를 구현했습니다. 자 그러면 마이크로 서비스 답게 내부의 서비스들은 각자의 방법으로 메시지를 주고받아야 합니다. 그렇다면 어떤 방법을 사용해야 할까요? 앞에서 만든 Gateway를 사용하는 것도 하나의 방법이 될 수 있습니다. 이 방법을 사용하면 모든 트래픽을 게이트웨이에서 관리하니까 로깅같은 부분에서는 더욱 용이할거라고 생각합니다. 하지만 모든 네트워크 통신이 Gateway라는 단일 진입점을 사용하게 되면, 서비스의 트래픽이 커졌을 때, 게이트웨이의 장애가 전체 서비스의 장애가 될 수 있습니다. 이를 단일 장애점 (Single point of failure) 이라고 합니다. 따라서 각각의 서비스는 peer-to-peer 방식으로 통신이 이루어지는게 이상적인 아키텍처.. 2021. 4. 14.