반응형
컨설(Consul)이란?
- Go 언어로 작성된 매우 강력한 서비스 탐색 기술이며, 마이크로서비스가 서로 통신할 수 있게 함.
- 참고페이지 : https://www.consul.io
- 컨설 코드
- 기원
- 해시코프(Hashicorp)의 솔루션
- 마이크로서비스와 인프라 분야에서 다양한 제품을 제공함.
- 참고페이지 : https://www.hashicorp.com
- 해시코프는 컨설을 상업적으로 지원함.
- 해시코프(Hashicorp)의 솔루션
- 특징
- HTTP REST API를 내장하고 있고, DNS를 지원함.
- 컨설 템플릿을 사용하여, 컨설 설정파일을 생성가능함.
- 서비스 상태 확인 지원, 상태확인 실패시, 탐색에서 서비스 제외기능
- 복제를 지원함.
- 데이터 센터간의 데이터 복제를 지원함.
컨설 템플릿(Consul Template)
- 등록된 모든 마이크로서비스 정보가 포함된 아파치 httpd 서버의 설정 파일을 생성가능함.
- 새로운 마이크로서비스 인스턴스가 시작될 때 아파치 httpd 서버를 설정하고 재시작함.
- 참고페이지 : https://github.com/hashicorp/consul-template
아파치 httpd 서버
- 마이크로서비스 시스템의 HTTP 요청에 대한 로드 밸런서와 라우터로 사용가능
- 가장 널리 사용되는 웹서버 중 하나임.
- 참고페이지 : https://httpd.apache.org
컨설 라이선스
- 컨설은 오픈소스 임. 모질라 퍼블릭 라이선스 2.0(Mozilla Public License 2.0)
- 참고페이지 : https://github.com/hashicorp/consul/blob/master/LICENSE
-
예시
- 참고페이지 : https://github.com/ewolff/microservice-consul
- 마이크로 서비스 구성
- 카탈로그 마이크로서비스
- 카탈로그와 관련된 정보를 관리함.
- 고객 마이크로서비스
- 고객 데이터를 저장함.
- 주문 마이크로서비스
- 새로운 주문을 받을 수 있고, 카탈로그와 고객 마이크로서비스를 사용함.
- 카탈로그 마이크로서비스
- 아키텍처
- 서비스 탐색 기능
- 컨설 사용
- HTTP 요청 라우팅 기능
- 아파치 httpd 서버 사용
- 리버스 프록시(Reverse Proxy) 기능 : 외부의 트래픽을 내부에서 처리할 수 있는 솔루션 지원.
- 외부 요청을 특정 서비스로 전달.
- 로드 밸런서 기능
- 설정 파일 구축
- 컨설 템플릿 사용
- 아파치 httpd 서버의 설정 파일을 구축.
- 컨설 템플릿 사용
- 서비스 탐색 기능
- 빌드방법
결론
- 컨설을 사용하면, 서비스 탐색이 가능해짐.
- DNS인터페이스와 컨설 템플릿을 많은 기술과 함께 사용할 수 있음.
- 컨설을 사용해 마이크로서비스의 서비스 탐색과 구성을 모두 구현할 수 있음.
- 아파치 httpd 서버는 표준 리버스 프록시로서 널리 사용됨.
- 컨설 기술 스택의 가장 큰 장점은 특정 언어와 환경과 상관없는 독립성에 있음.
728x90
300x250
'좋아하는 것_매직IT > 10.microservice' 카테고리의 다른 글
17.마이크로서비스, 쿠버네티스에 대해서 알아보자. (0) | 2021.01.13 |
---|---|
16.마이크로서비스, 마이크로서비스 플랫폼을 알아보자. (0) | 2021.01.13 |
14.마이크로서비스, 넷플릭스 스택에 대해서 알아보자. (0) | 2021.01.12 |
12.마이크로서비스, Atom & REST 비동기 통신은 무엇일까? (0) | 2021.01.12 |
11.마이크로서비스, 카프카에 대해서 알아보자. (0) | 2021.01.12 |