Kafka란? Kafka 설치 Kafka Producer/Consumer Kafka Connect Apache Kafka란? Apache Software Foundation의 Scala언어로 된 오픈 소스 메시지 브로커 프로젝트이다. 메시지 브로커는 특정한 서비스에서 다른 서비스로 메시지를 전달한다. 실시간 데이터 피드를 관리하기 위해 통일된 높은 처리량(대용량), 낮은 지연 시간을 지닌 플랫폼을 제공한다. 카프카가 없던 시절에는 Hadoop, SearchEngine 등 다양한 형태의 처리가 불편하였고, 확장이 편리하지 않았다. 카프카의 주요 장점은 다음과 같습니다: 카프카(Kafka)는 분산 스트리밍 플랫폼으로, 대용량의 실시간 데이터를 처리하기 위해 설계되었습니다. 주키퍼(Zookeeper)와 브로커..
Communication types RestTemplate Feign Client - Log, Exception ErrorDecoder Multiple Orders service Rest Template 사용자가 user Info 뿐만아니라 orders의 정보도 함께 알고 싶을경우, REST Template를 통하여 USER Service가 Order Service에게 요청 하고 응답을 받는다 ~/msa-config/user-servie-dev.yml order_service: url: order_service.url 값을 다음과 같이 설정한다. user-service - UserServiceApplication.java @SpringBootApplication @EnableDiscoveryClient ..
KeyTool 생성하기 keytool -genkeypair # Key를 생성하겠다 -alias apiEncryptionKey # 별칭을 apiEncryptionKey -keyalg RSA # 알고리즘은 RSA방식 -dname "CN=Geumbit Kim, # 인증서의 주요 식별 이름 OU=API Development, # 소속 부서 O=gbitkim, # 소속 기관 L=Seoul, ST=KR, C=KR" -keypass "gbitkim_msa" # 비밀키는 gbitkim_msa 이는 -storepass와 같게해야함 # 아래 jks파일로 만들었기에 -keystore apiEncryptionKey.jks # Key를 생성할때 apiEncryptionKey.jks를 생성하겠다. -storepass "gbitk..
Spring Cloud Bud RabbitMQ 설치 프로젝트 수정 - Actuator 테스트 Spring cloud bus 사용함으로써, 분산 시스템의 노드(MS)를 경량 메시지 브로커(RabbitMQ)와 연결하여 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달(Broadcast)할 수 있다. Spring Cloud Bus가 Spring Cloud Config Server 에 변경된 설정 정보를 Push하면 (HTTP POST /busrefresh) Spring Cloud Config Server 는 설정정보를 update하여 연결된 MS들에게 변경사항을 전달한다. MS에게 전달해도 전체 반영이된다. 자세한 내용은 실습을 통해 알아볼것이다. Section7에서처럼 MS 하나씩 refresh할 필요..
Spring Cloud Config란? 분산 시스템에서 서버, 클라이언트 구성에 필요한 설정 정보(application.yml)를 외부 시스템에서 관리하는것이다. 하나의 중앙화 된 저장소에 구성요소를 관리가 가능하다. 또한, 각 서비스를 다시 빌드하지않고, 바로 적용 가능하게된다. 애플리케이션 배포 파이프라인을 통해 D EV-UAT-PROD 환경에 맞는 구성 정보를 사용한다. ~/msa-config : ecommerce.yml 파일을 생성한다 token: expiration_hours: 24 secret: ~ gateway: ip: ~ git add . git commit -m "upload an application yml file" ~springcloud-config-project : 프로젝트를 생성..
Users Microservice - Login JWT (Json Web Token) API Gateway service - AuthoriztionHeaderFilter UsersMicroservice - AuthenticationFilter 이전 만들었던 회원가입을 진행한다. 2. /user-service/login 으로 POST 데이터를 날려본다 아래와 같이 200 OK 떨어짐을 확인할 수 있다. 그리고 이메일을 혹은 비밀번호를 틀리게하여 로그인하면 아래와같이 401 - Unauthorized 가 표시된다 그런데 특이한점은 UserController의 경우 /login 을 만들지 않았다. @RestController @RequestMapping("/") @RequiredArgsConstructor p..
사용자 요청을 [API Gateway] 통해 들어오고 [Eureka]를 통해 해당 서비스를 찾습니다. 그 3가지 중 [User Service]라는 Micro Service를 JPA를 활용하여, H2 DB로 개발할 예정입니다. 단, UI없이 작업없이 진행할 예정입니다. API는 아래와 같습니다 기능 URI(API Gateway 사용 시) URI(API Gateway 미사용 시) HTTP Method 사용자 정보 등록 /user-service/users /users POST 전체 사용자 조회 /user-service/users /users GET 사용자 정보, 주문 내역 조회 /user-service/users/{user_id} /users/{user_id} GET 작동 상태 확인 /user-service/..
E-commerce는 전자상거래이다. 위와같이 MS는 3가지로 나뉜다 CATALOG-SERVICE (카탈로그) USER-SERVICE (회원 서비스 - 로그인 및 회원가입 등) ORDER-SERVICE(상품주문 서비스) 이때 사용자가 주문을 하면 [USER-SERVICE] → [ORDER-SERVICE] 로 주문조회 API 요청 [ORDER-SERVICE] → [CATALOG-SERVICE] 상품수량 업데이트를 Kafka[MessageQueue]로 진행 예정 [Eureka Server]에 MicroService를 등록한다 ⇒ Registry service CATALOG-SERVICE USER-SERVICE ORDER-SERVICE 클라이언트 요청이 들어왔을 경우 [API Gateway]에서 [Eureka..
- Total
- Today
- Yesterday
- nginx
- Vue
- install
- Intellij
- 영속성 컨텍스트
- springboot
- 중간연산
- docker
- java
- Vuex
- ApplicationContext
- 스트림
- container
- ngnix
- mvn
- 차이
- BeanFactory
- 자바8
- JPA
- elasticsearch
- MAC
- AnnotationConfigApplicationContext
- NPM
- map
- lambda
- stream
- 람다
- 최종연산
- webpack
- vscode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |