Application Modernization/Service Mesh 6

istio와 envoy 란

이 글은 2020년에 제 소유의 네이버 블로그에 있던 글을 리호스팅한 글입니다. 개요 Microservice 아키텍처를 구성하는 각각의 Microservice들은 Microservice들 간 통신을 위해 각 서비스를 식별(Discovery)하고, 경로를 파악(Routing)하며, 로드 발란싱(Load Balancing)을 하고 전체 서비스의 장애 전파를 차단(Circuit Break)하는 역할이 한데, 이러한 기능을 통합해 하나의 계층으로 만든 것이 Service Mesh이다. Service Mesh는 그 구성방식에 따라 3가지 종류가 있다. (이전 포스팅의 Service Mesh 부분 참조) Microservice Architecture 컴포넌트 Microservice Architecture를 구성하는..

OpenFeign 간단 예제

이 포스팅은 2020년 본인 소유의 네이버 블로그에 올린 글을 재 포스팅하는 글 입니다. OpenFeign Demo 이번 예제는 OpenFeign을 이용해 간단한 호출을 해보는 예제입니다. OpenFeign에 대한 개념이 필요하신 경우 아래를 참조합니다. OpenFeign 이란? 이 글은 2020년 본인 소유 네이버 블로그에 포스팅한 글을 가져와 재 포스팅한 내용입니다. 지금은 중국 알리바바로 옮겼지만 한때 Pivotal China에서 일했었고 나와는 5개월 정도 함께 일했었던 '리 sharplee7.tistory.com 예제에 사용될 프로젝트 구조는 아래와 같습니다. OpenFeign Demo 시나리오 8081로 기동되는 Caller서비스와 8082로 기동되는 Callee서비스가 있습니다. Caller..

OpenFeign 이란?

이 글은 2020년 본인 소유 네이버 블로그에 포스팅한 글을 가져와 재 포스팅한 내용입니다. 지금은 중국 알리바바로 옮겼지만 한때 Pivotal China에서 일했었고 나와는 5개월 정도 함께 일했었던 '리 강'이라는 중국인이 개발한 Spring Cloud의 RESTful 통신용 라이브러리입니다. OpenFeign은 Spring Cloud에서 RestTemplate과 Hystrix 라이브러리를 통합한 기능으로 생각할 수 있습니다. Hystrix가 RestTemplate과 함께쓰여 설정된 임계치에 조건이 다달아 장애가 발생하면 FallBack 메소드가 작동하게 하는 방식과 동일한 방식으로 동작 할 수 있습니다. 보통 OpenFeign은 Connection Timeout과 Read Timeout 조건에서 동..

Eureka : Service Discovery

이 글은 2019년에 작성된 필자 소유의 네이버 블로그에서 이동해 왔습니다. Spring Cloud의 Ribbon을 이용하면 MSA의 복수개의 동일 서비스간에 호출을 위한 로드벨런스를 SW로 구축 할 수 있습니다. 다만 각 서비스간의 호출 관계에 필요한 서버 목록들을 호출하는 서버의 application.yml에 listOfServers라는 목록에 기록 했어야 했습니다. Euerka는 Ribbon에서 호출할 서버 목록을 일일이 타이핑해서 관리해야 하는 단점을 보완해 호출되는 서비스들이 Eureka 서버에 자신의 서비스를 자동으로 등록해 별도의 서비스 등록을 해야 하는 수고를 덜어주는 서버입니다.(이러한 기능을 MSA에서는 Service Registry라 부릅니다.) Netlfex Eureka를 이용해 필..

Ribbon : Load Balancer

이 글은 2019년에 작성된 필자 소유의 네이버 블로그에서 가져왔습니다. MSA 환경에서 서비스와 서비스는 서로 종속적인 관계를 가질 수 밖에 없습니다. 대부분의 서비스들은 그 중요성에 따라 이중화 시스템으로 구축될 가능성이 높습니다. 이런 점을 고려해 볼 때 이중화 되는 서비스 별로 L4스위치와 같은 장비를 구매한다는 것은 비용적으로 부담스러울 수 밖에 없습니다. Netflex는 이런 점에 착안 Ribbon이라고 하는 SW적인 로드 발란서를 만들었으며 이를 통해 호출하는 서비스에서 호출되는 서비스들에 대한 소프트웨어 적인 Road Balancing이 가능하도록 했습니다. Ribbon은 - REST API를 호출하는 서비스에 탑제되는 SW 모듈 - 주어진 서버 목록에 대해 Load Balancing 수행..

Hystrix : Circuit Breaker

이 글은 2019년에 작성된 본인 소유의 네이버 블로그에서 이동해 왔습니다. Cloud Native Application 구축을 위해 최근 가장 각광 받고 있는 기술이 MSA(Micro Service Architecture)입니다. MSA의 핵심이 되는 기술들로는 회로차단, 로드밸런스, 서비스레지스트리, APIGateway등이며 이런 필요 기능등을 Open Source로 배포하는 가장 유명한 소프트웨어가 아마존 AWS 환경하에서 MSA를 성공적으로 구축해서 사용하고 있는 Netflex의 OSS(Open Source Software) 입니다. Netfliex OSS 라이브러리에는 여러 기능들이 있으나 이중 Hystrix, Eureka, Ribbon, Zuul등은 Pivotal社가 배포하는 Spring Cl..

반응형