LG CNS AM _ MSA 실습 정리

이슬아·2025년 3월 19일

MSA 실습 정리용

1. Order Service 2개 가동

1) application.yml 파일에서 port번호를 0으로 바꿔준다

  • port가 0이면 랜덤으로 포트가 할당됨

2) maven에서 order-service 부분에 clear-complie-package 실시

  • target에서 jar파일이 생성됨

3) jar 파일 각각 실행

  • C:\toy-msa\order-service> java -jar .\target\order-service-1.0.jar

4) Eureka 확인

2. 회원가입,로그인 진행

3. 주문하기

  • 주문 전
  • Catalog -> 주문할 상품 확인
  • 주문하기

->인스턴스가 2개 가동된 상태이기 때문에 각각 한 번씩 들어갔을 것

4. Database 확인 (mariaDB)

  • orders 테이블

이 경우

사용자가 많아지고, 데이터가 많을 수록 병목 현상이 발생하여 Error 발생 가능성이 높아짐

그래서 더이상 데이터 베이스에 값을 바로 넣지 않겠다! --> db 주석처리



//        /* jpa */
//        OrderDto createdOrder = orderService.createOrder(orderDto);
//        ResponseOrder responseOrder = mapper.map(createdOrder, ResponseOrder.class);
ResponseOrder responseOrder = mapper.map(orderDto, ResponseOrder.class);

kafka를 사용하겠다 !

        /* send this order to the kafka */
        kafkaProducer.send("example-catalog-topic", orderDto);
        orderProducer.send("example-order-topic", orderDto);

적용 후 다시 위 과정 반복

주문 후 수량이 변화된 것을 보면 kafka가 잘 작동했음을 알 수 있음
(order->catalog간 서비스 호출)

  • DB 확인

  • Topic 확인

    -> 주문 즉시 토픽에 쌓임

  • 콘솔 창 확인
    order-service 1

    orderservice 2

    -> 번갈아 가면서 실행되고 있음을 확인

여기까지

각 인스턴스의 주문들이 kafka의 example-order-topic 토픽에 쌓이고 있는 것을 확인함

Kafka Connect 사용

1. sink-connector 생성

2. 상태 확인

3. 주문 2개

4. kafka 토픽 확인

5. MariaDB 확인

  • my-order-topic이 자동으로 생기고 값이 잘 들어간 것을 확인

0개의 댓글