백엔드/MSA

백엔드/MSA

[MSA] Kafka Connect

Kafka Connect란? Kafka는 Producer/Consumer를 통해 데이터 파이프라인을 만들 수 있다. 예를 들어, A서버 DB에 저장한 데이터를 B서버의 DB로도 보낼 수 있다. 이러한 파이프라인이 여러 개면 매번 반복적으로 파이프라인을 구성해줘야 한다. Kafka Connect는 이러한 반복적인 파이프라인 구성을 쉽고 간편하게 만들 수 있도록 만들어진 Apache Kafka 프로젝트 중 하나다. 위 사진을 보면 Kafka Connect를 이용해 왼쪽의 DB데이터를 Source Connector를 이용해 Kafka Broker로 보내고 Sink Connect를 이용해 Kafka에 담긴 데이터를 DB에 저장하는 것을 볼 수 있다. Connect : Connector를 동작하게 하는 프로세서(..

백엔드/MSA

[MSA] Spring Cloud Gateway

스프링 클라우드 게이트웨이 (Spring Cloud Gateway) Spring Cloud Gateway는 API Gateway 중 하나이다. [MSA] API Gateway API Gateway란? MSA는 여러 개의 프로젝트를 분리한다. 그럼 모든 요청에 대한 동일한 처리를 해야 할 때는 어떻게 해야 할까? API의 모든 요청에 대한 로그 파일을 만들고 싶다. 모든 요청에 대해 인 brightstarit.tistory.com 다시 말해, Spring Reactive 환경에 구현된 API Gateway다. API Gateway의 구현체로는 Spring Cloud Gateway를 제외하고도 Zuul과 AWS API Gateway 등이 있다. 다만, 차이점에서 볼 수 있는 것처럼 Spring Cloud G..

백엔드/MSA

[MSA] Spring Cloud Netflix Eureka

Spring Cloud Netflix Eureka Spring Cloud Netflix Eureka는 Client-Side discovery 방식의 Service Discovery중 하나이다. [MSA] Service Discovery Service Discovery란? MSA와 같은 분산 환경에서의 동작은 서비스 간의 원격 호출(API 호출)로 구성되며, 원격 호출은 각 서비스의 ip 주소와 port를 기반으로 요청된다. 클라우드 환경에서는 서비스가 aut brightstarit.tistory.com Service Discovery의 기능은 크게 2가지이다. 등록 : microservice를 사용할 수 있도록 등록해준다. 검색 : Api Gateway 혹은 라우터에게 그 서비스들을 알려주도록 검색하는 ..

백엔드/MSA

[MSA] Service Discovery

Service Discovery란? MSA와 같은 분산 환경에서의 동작은 서비스 간의 원격 호출(API 호출)로 구성되며, 원격 호출은 각 서비스의 ip 주소와 port를 기반으로 요청된다. 클라우드 환경에서는 서비스가 autoScaling 등에 의해 동적으로 생성되거나, 컨테이너 기반의 배포로 인해서 서비스의 ip가 동적으로 변경되는 일이 잦아졌다. 이러한 변경은 클라우드에서 일어난 것이기 때문에 동적으로 변하는 ip를 수동으로 대응할 수는 없다. 때문에 클라우드 환경에서는 서비스 클라이언트가 서비스를 호출할 때, 서비스의 위치(ip 주소와 port)를 알아낼 수 있는 기능이 필요하다. 이것을 바로 Service Discovery라고 하며, 이를 구현하는 방법으로는 크게 Client Side Disco..

밝은별 개발자
'백엔드/MSA' 카테고리의 글 목록