기존에 application.yml파일을 수정할 때, 각 서비스마다 application.yml을 수정하고, 서비스를 재빌드 했던 점 기억나시나요? 이런 과정을 번거로울 뿐만 아니라 개발 테스트 기간에도 상당한 영향을 줍니다. 특히 MSA 형태로 어플리케이션을 제작하면 서비스가 증가함에 따라서 application.yml 파일도 증가합니다. 이런 이슈를 해결하기 위해서 사용되는 것이 바로 Config 입니다. Spring Cloud Config는 application.yml과 같이 서버 클라이언트 구성에 필요한 정보를 담고 있는 파일을 외부 시스템에서 중앙화를 통해서 관리하는 방식으로 이해하면 됩니다. Config를 통해서 서버의 설정정보들을 중앙에서 관리한다면, 각 서비스를 재 빌드할 필요성도 없어지고..
- 코드를 원하시는 분은 하단에 코드를 첨부하니 확인해주세요. JWT 토큰을 생성하는 법을 알아봤으니 이제 해당 토큰을 활용해서 인증을 받는 기능을 구현하고자 합니다. 마찬가지로 pom.xml에 JJWT의 Dependency를 추가해줍니다. #pom.xml io.jsonwebtoken jjwt 0.9.1 javax.xml.bind jaxb-api jjwt는 Jwt사용에 있어서 필수적인 요소인데 이를 인증하기 위해서는 jaxb-api가 필요합니다. 해당 dependency가 없으면 오류가 발생하는데 이는 올바른 응답을 위해서 반드시 요청에 Converter가 필요하다 정도로 생각하면 될 거 같습니다. 다음으로는 AuthorizationHeaderFilter.Class를 생성하고 다음과 같이 입력합니다. 약..
E-commerce Application 개발을 계속 하던 중, 코드를 올리기 보단 하는 방식을 올리는 편이 조금 더 효율적이라는 생각이 들었습니다. JWT는 쉽게 말하면 인증과정에 걸리는 비효율적인 과정들을 생략하고 JSON 형태의 토큰을 발행해서 조금 더 효율적인 인증과정을 밟도록 도움을 줍니다. JWT 생성에 앞서서 기존에 작성했던 User-Service에서 Dependency를 추가했습니다. (해당 프로젝트가 없는 경우엔 하단에 프로젝트를 받아주세요. 해당 프로젝트는 완성본이며,API-Gateway Service와 Eureka Server가 있어야 원활하게 동작합니다.) #pom.xml io.jsonwebtoken jjwt 0.9.1 이름에서도 알 수 있듯이 jwt 생성을 위해 필수적으로 주입해줘..
안녕하세요 박강균 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..
저번 시간에 이어서 이번에는 Orders 서비스를 구축할 예정입니다. 현재까지 구축되어 있는 서비스는 User-Service 와 Catalog-Service 인데, 둘다 각각 회원 등록 이나 조회 그리고 상품 등록과 조회를 할 수 있는 기능들로 구현되어 있습니다. 이제 이 둘을 엮어줄 Order-Service를 통해서 상품을 구매하는 서비스를 구현할 예정입니다. 본 포스팅은 IntelliJ 환경에서 구축 되어 있습니다. ( STS나 Eclipse 로도 제작이 가능합니다.) Properties 대신 yml 파일로 어플리케이션의 환경 설정을 진행했습니다. Gradle 대신 Pom.xml으로 Dependency를 추가합니다. 자 아래의 표를 봐주세요. 기능 마이크로 서비스 URI(API Gateway) HTT..
드디어 User-Service를 벗어나서 Catalogs 서비스를 개발할 예정입니다! 와!!! Catalogs!! 그럼 Catalogs의 API는 어떤 구조일까요? #Catalogs 기능 마이크로 서비스 URI(API Gateway) HTTP Method 상품 목록 조회 Catalogs MicroService /catalog-service/catalogs GET 사용자 별 상품 주문 Orders MicroService /order-service/{user_id}/orders POST 사용자 별 주문 내역 조회 Orders MicroService /order-service/{user_id}/orders GET 그럼 이제 실제로 프로젝트를 생성해줄게요. 그 뒤에 pom.xml을 조금 수정해줘야 합니다. #p..
자 저번 시간에는 Gateway와 UserService를 연동하는 과정을 거쳤었는데, 이번에는 사용자 조회 기능을 개발해보도록 할게요. 기능 구현을 위해 주요하게 살펴봐야할 클래스는 ResponseUser.java 클래스와 ResponseOrder.jva 클래스입니다. 그럼 바로 시작하도록 하겠습니다. 일단 UserService 프로젝트에 접근해볼게요. 가장 먼저 작성해야할 부분은 ResponseUser.java 클래스 입니다. #ResponseUser.java package com.example.userservice.vo; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; import java.util.List; @Data..
자 지금까지 UserService를 열심히 만들었으니, 이제 Gateway에 등록하는 절차를 다시 밟아볼게요. 그런데... 너무 졸리네요... 오늘따라 너무 졸려서 포스팅을 대충한거 같아요... 하지만 여기서 마무리를 짓긴 아쉬우니까! 계속해서 작성해볼게요 자 일단은 Gateway에 연결하기전 Port번호를 0으로 해뒀기 때문에 Controller를 조금 수정해줍시다. #UsersController @GetMapping("/health_check") public String status(){ return String.format("It's Working in User Service on PORT %s", env.getProperty("local.server.port")); } 기존에는 그냥 문자열만 리턴..
이번 시간에는 Spring Security를 활용해서 Authentication + Authorization 기능을 UserService에 적용시킬거에요. 크게 6단계를 거쳐서 해당기능을 활성화시킬거에요 그 단계는 다음과 같아요 Step 1: 어플리케이션에 Spring Security jar를 Dependency에 추가 Step 2: WebSecurityConfigurerAdapter를 상속받는 Security Configuration 클래스 생성 Step 3: Security Configuration 클래스에 @EnableWebSecurity 추가 Step 4: Authentication -> configure(AuthenticationManagerBuilder auth) 메서드 재정의 Step 5: ..
- Total
- Today
- Yesterday
- MariaDB
- consumer
- JWT
- UserService
- springcloud
- prometheus
- 운동일기
- Spring + ELK
- 빅-오
- elasticSearch
- github
- git
- Logstash 활용
- Feign
- rabbitmq
- config
- producer
- ACTUATOR
- kafka
- LoadBalancer
- Logstash to ElasticSearch
- docker
- 오늘저녁 삼겹살
- MSA
- 루틴기록
- Gateway
- Kafka Connect
- zipkin
- 미래의나에게동기부여
- 운동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |