본문 바로가기

반응형

MSA (MicroServiceArchitecture)

(29)
8. Kafka Connect 활용하여 sink 적용하기 # Kafka Connect를 활용하여 sink를 적용하는 방법에 대해 알아보기 1. 3개의 서비스가 실행되어 있어야 한다. - 아파치 주키퍼 - 아파치 카프카 - 아파치 커넥터 2. 실행 프로세스는 아래와 같다. - DB와 커넥션을 통해 다른 DB 및 경로로 데이터를 Sink 시키는 방식이다. 3. Kafka Sink 생성하기 - 해당 내용을 postman에 등록을 해줘야 한다. { "name":"my-sink-order-connect", "config":{ "connector.class":"io.confluent.connect.jdbc.JdbcSinkConnector", "connection.url":"jdbc:mysql://localhost:3306/mydb", "connection.user":"r..
7. kafka로컬 테스트 및 MariaDB 로컬 설치 후 H2 클라이언트 사용하기 1. kafka 로컬에 설치 및 테스트하기 2023.04.11 - [Apache Kafka] - Windows에서 Apache kafka 실행하기 2. MariaDB 로컬 설치 http://mariadb.org/download/?t=mariadb&p=mariadb&r=11.1.0 Download MariaDB Server - MariaDB.org REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 3. Spring boot 에서 h2를 클라이언트로 활용하기 - 로컬에 설치한 MariaDB로 커넥션이 가능하다. - h2가 mariaDB의 클라이언트로 사용하기 위해서는 아래의 디펜던시를..
6. git에 config 정보 저장하기 # git에 config 정보를 저장하기 1. github에 퍼블릭으로 저장소를 생성한다. spring-cloud-config라는 이름으로 저장소를 생성한다. 그리고 생성한 저장소의 주소를 복사한다. https://github.com/Nanninggu/spring-cloud-config.git Nanninggu/spring-cloud-config Contribute to Nanninggu/spring-cloud-config development by creating an account on GitHub. github.com 2. remote repository로 등록하기 - 현재 연결정보 확인 git remote -v - 위에서 복사한 레포지토리 정보를 remote 정보로 등록하기 git remote a..
5. Config 서비스 생성 # Condig 서비스를 생성하여 환경설정 정보를 한곳에서 구현하도록 한다. Config 서비스가 필요한 이유는 여러가지 환경설정 정보를 공통으로 서비스 하도록 하는것이 첫번째 목적이고 두번째목적은 dev - stage - prd로 구성된 개발환경을 구현하기 위한것이 두번째 목적이다. 1. 새로운 폴더를 생성하고 yaml 파일을 만든다. 2. git init을 수행한다. 3. git add를 수행하여 위에서 생성한 yaml 파일을 추가한다. 4. 해당 경로를 새로 생성한 config 서비스에 등록해준다. config 서비스는 Spring Cloud Config 라는 서비스를 검색 후 디펜던시를 추가해준다. # 구현하면 아래와 같다. 1. yaml 파일 생성 2. git - ecommerce.yaml 파일..
4. 모든 서비스를 실행하기 (Eureka, API GW, User, Catalog, Order) # 모든 서비스를 실행하고 해당 기능을 살펴보자. 아래의 영상은 모든 서비스 기능을 나타낸 것이다. api기능은 별거 없지만, 열거해보면 아래와 같다. 1. 사용자를 등록할 수 있다. 2. 등록한 사용자를 조회 할 수 있다. 3. 제품(카탈로그) 목록을 조회 할 수 있다. 4. 등록한 사용자 ID정보로 제품을 주문할 수 있다. 5. 등록한 사용자 ID정보로 주문한 제품을 확인할 수 있다. # 시나리오를 작성해보고 해당 내용으로 수행을 해보자. 김철수 라는 사용자를 등록하고, 조회한다. 제품을 조회하고 3카탈로그 제품을 김철수 라는 사용자 ID 정보로 주문을 한다. (10개 주문) 김철수 ID정보로 주문한 정보를 확인한다. # 시나리오대로 동작을 하는지 살펴보자. - MP4 버전은 아래와 같다. - 지금까..
3. CatalogService 만들기 # 제품 카탈로그 서비스를 만든다. 제품 서비스를 등록하고, 조회하는 서비스이다. 코드의 프레임 워크는 아래의 url 주소의 user-service의 로직과 같다. 2023.04.03 - [MSA (MicroServiceArchitecture)/MSA Application (온라인 쇼핑몰))] - 2. Users MSA와 Spring CloudGW 연동 및 사용자 조회 만들기 2. Users MSA와 Spring CloudGW 연동 및 사용자 조회 만들기 # Users MSA를 Spring Cloud GW에 연동하고 사용자를 조회하는 서비스를 만든다. - 컨트롤러에 Health_Check 정보를 수정하여 포트 정보를 화면에 받아 오도록 설정 @GetMapping("/health_check") public..
2. Users MSA와 Spring CloudGW 연동 및 사용자 조회 만들기 # Users MSA를 Spring Cloud GW에 연동하고 사용자를 조회하는 서비스를 만든다. - 컨트롤러에 Health_Check 정보를 수정하여 포트 정보를 화면에 받아 오도록 설정 @GetMapping("/health_check") public String status() { return String.format("It is Working in UserService on PORT %s", env.getProperty("local.server.port")); } - 이전에 생성한 api gw 소스코드를 오픈한뒤 아래와 같이 application.yaml 파일의 아래의 내용을 추가한다. routes: - id: user-service uri: lb://USER-SERVICE #first-servic..
0.MSA 애플리케이션 개발 개요 (온라인 쇼핑몰) # 온라인 쇼핑몰을 MSA 형태로 개발한다. 1. 예제 애플리케이션의 구성은 아래와 같다. - 개발 환경 : 스프링부트, Gradle, etc... - Github : 소스관리 - Kafka : 서비스간 메시지 발행 및 구독 (비동기 서비스) - Eureka 서버 : 서비스 등록 및 검색 관리 - API Gateway 서버 : Spring Cloud Gateway로 구성, 부하분산 및 서비스 라우팅 - Microservices : 회원 서비스, 상품주문 서비스, 상품 카테고리 서비스 로 구성 2. 주요 애플리케이션 API 목록은 아래와 같다. 서비스 이름 RESTful API 정보 HTTP 호출 정보 Catalog Service /catalog-service/catalogs : 상품 목록 제공 GET U..

728x90
반응형