이 시간 부터는 이제 장애처리에 관련한 내용을 알아보려 합니다. 그 전에 완성된 프로젝트를 공유하도록 하겠습니다. 두 폴더 모두 D: 에 위치시키는 것 을 추천 드립니다. Kafka는 따로 설치해야 합니다. 관련 글을 참고해주세요. -Service가 포함된 WorkSpace- -Service와 관련된 Repo- [MSA] Apache Kafka 설치 Kafka는 MSA와 굉장히 밀접한 기술입니다. 대부분의 MSA 형태의 애플리케이션에는 Kafka가 들어갑니다. 저희가 흔히 쓰는 Spirng-Cloud-Nefilx 오픈소스를 개발한 Nefilx에서도 사용 중 입니다. 이번 포스팅 ggparkitbank.tistory.com [MSA] Apache Kafka - Kafka Connect 개념/ MariaDB..
#개요 이제 고도화 작업은 거의 끝나 갑니다. 이번 시간에는 Order를 위한 Sink Connection을 만들고, 주문 입력 시 Topic에 해당 정보를 전달하고, 다시 해당 정보를 DB에 저장하는 과정을 구현하려합니다. 예전에 언급 드린적있듯이, Kafka를 통해서 어느 포트에서 오든 메시지를 저장하고 하나의 단일 DB에 저장하기 위한 과정을 구현하려 하는 거죠! + 이번 포스팅은 많이 길어질 것 같습니다. 아무래도 마무리 단계이기도 하고 중요한 부분도 있어서 많은 부분을 적어야 할 것 같네요. 지루하시다면 마지막에 최종코드를 첨부할테니 확인해주세요! #OrderController.java(Order-Service) #완성 코드 package com.example.orderservice.contro..
사이트 규모가 증가함에 따라서 과부하를 처리 하는 방식 중 하나를 로드 밸런싱이라 합니다. 그리고 로드 밸런싱은 N개의 다른포트에 똑같은 서비스 ( ex : 주문 서비스 ) 를 기동시켜 교차하며 서비스를 제공하도록 합니다. 이 방법은 굉장히 효율적으로 과부하에 대비 할 수 있지만 한가지 문제점이 존재합니다. 바로 데이터 동기화의 문제 인데, 만약 H2 DB처럼 각 Port별로 어플리케이션 실행 시 생성되는 DB인 경우에는 어떨까요? #Load Balancer의 동작원리 많이 생략되어 있지만, LoadBalancer에서 어떤 Port로 접속 할지 접속 정보를 가지고 있습니다. 그리고 처음으로 요청이 들어오면, 보시는 것처럼 9091 Port로 요청값을 보냅니다. 그럼 9091Port 에서 H2-DB에는 유..
이번 포스팅은 Test가 주 내용 입니다. 바로 전에 작성한 포스팅을 참고해주세요. 먼저 테스트를 위해서 실행해야할 서비스 목록입니다. Zookeeper - Server Kafka - Server Eureka - Sever( WorkSpace에서 Ecommerce라는 프로젝트) ApiGateway - Service Config - Service Order - Service Catalog - Service #Eureka Server 접속 localhost:8761 로 접속해 Eureka 대쉬보드 확인해볼게요. test에 앞서서 h2-console을 확인하려합니다. 접속하고자 하는 Service에 링크를 클릭해줍니다! 초록색 글씨로 되어있는 부분입니다. #[OrderService]/h2-console 로 접..
이제 끝이 보이고 있습니다. 물론 Back-end의 구현만 살펴보고 있지만, MSA라는 처음 보는 아키텍쳐와 함께 하면서, 여러가지를 배웠던 거 같네요. 이제 데이터 동기화를 위한 Apache Kafka의 활용법을 적용하고, 장애처리, 그리고 마지막으로 모니터링 기능까지 추가하면 끝입니다. 산더미네요... 그리고 클라이맥스로 Docker를 활용해서 모든 서비스를 하나하나 Container화를 구축할 예정이니까요. 이번 시간 부터는 다시 E-Commerce Application 을 고도화 시킬 예정입니다. 실습에 앞서서 만약 구축된 E-Commer Application이 없다면 아래의 파일들을 받아주세요 웬만하면, D: 바로 밑에 두 폴더 모두 위치시켜주시길 바랍니다. 해당 위치가 아닐 경우 Config-..
드디어 보안과 관련한 항목이 끝나고 기술적인 부분을 다시 진행 하려 합니다. 시작하기에 앞서 RestTemplate부분 부터 진행하실분이라면 아래의 WorkSpace를 받아주세요. -Main Work Space- -Configuration Yml Files- 해당 파일의 위치를 D: 바로 밑으로 두고 있습니다. 위치를 변경 하실분은 Main Work Space에서 변경해주셔야합니다. 개요 개요를 간단히 말씀드리면, 일단 UserService와 OrderService간에 데이터 통신을 목적으로 두고있습니다. 간단한 예시로 만약 OrderService에서 주문을 진행하게 되면 해당 주문 정보를 UserService로 보내야 합니다. 이를 RestTemplate를 활용해서 구현하려는게 이번 포스팅의 핵심입니다..
길고도 험난했던, MSA였습니다. 어렵다면 어려운 부분도 많았고, 알고있다고 생각했는데 모르는 것들도 많았습니다. Eureka Server,Client 와 Gateway,Security,LoadBalance,Config 등... 많이 했다고 느끼지만, 첫 걸음이었다는 사실에 놀랍긴합니다. 이제 부터 할 작업은 MSA의 고도화 작업입니다. 기존에 진행했던 작업에 조금 더 고급진 기술을 사용하려합니다. 가장 먼저 할 작업은 대칭키를 이용한 암호화 처리 입니다. -지금 까지 사용한 프로젝트 파일을 첨부합니다. Part2부터 참조하실 분들은 해당 프로젝트를 확인해주세요. *해당 압축파일은 WorkSpace입니다. import를 생각하신다면 각 서비스를 import 시켜야합니다. #bootstrap.yml(Con..
이제 본격적으로 Spring Cloud Bus를 활용하기에 앞서 몇가지 설정을 해주려 합니다. 바로 시작하겠습니다. #BootStrap.yml( User,Config,Gateway ) 먼저 저번시간에 진행했던 Native Profile로 세가지 서비스를 모두 맞춰줍니다. profiles를 active 시켜주세요! spring: cloud: config: uri: http://127.0.0.1:8888 name: config-service profiles: active: native #pom.xml(Config-Service) 먼저 Config-Service의 pom.xml 파일에 Dependency를 추가합니다. org.springframework.boot spring-boot-starter-actuat..
안녕하세요 박강균 IT 입니다~!! 다들 즐거운 코딩생활을 보내고 계신가요? 다름이 아니라 오늘은 잠시 쉬어가는 의미에서 간단한 잡지식을 공유하려고 이렇게 왔어요! 다름이 아니라 저희가 기존에 사용했던 Gateway의 Path옵션! 조금 수정 해야할 필요가 있다는 점! 알고계셨나요? 너무 걱정은 No No No! 일단 저 박강균 IT가 하나하나 말해드릴테니까 걱정하지마세요! 저희가 기존에 작성한 routes를 볼까요? # Gateway Service application.yml routes: - id: user-service uri: lb://USER-SERVICE predicates: - Path=/user-service/** - id: catalog-service uri: lb://CATALOG-SE..
- Total
- Today
- Yesterday
- docker
- JWT
- elasticSearch
- kafka
- 오늘저녁 삼겹살
- zipkin
- consumer
- Spring + ELK
- git
- Kafka Connect
- 미래의나에게동기부여
- 루틴기록
- github
- Logstash to ElasticSearch
- UserService
- 빅-오
- ACTUATOR
- producer
- springcloud
- MSA
- Gateway
- 운동일기
- prometheus
- MariaDB
- 운동
- LoadBalancer
- rabbitmq
- config
- Logstash 활용
- Feign
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |