- 해당 포스트는 전에 진행한 Config -Service 에서 이어집니다. - 또한 해당 포스트는 인프런 강좌 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)를 참조했습니다. # Profiles? yml File을 읽을 때 Profiles를 설정해주면, 각각 의 서비스에 서로 다른 Yml을 제공해줄 수 있습니다. 백번의 말 보다는 직접 해보는게 더 와닿을 것이라 생각이 드니 바로 시작할게요! 가장 먼저 진행 할 것은 기존에 작성한 ecommerce.yml 파일을 복사해서 3개로 늘려주세요 제목 형태는 application을 Default로 두고 뒤에 성질을 알 수 있도록 dev와 prod를 붙혔습니다. #ecommerce.yml token: expiration_time: 86400..
이번엔 Gateway에 Config Server를 연동할 예정입니다. User-Service의 Login은 토큰을 발급하는데 해당 토큰은 Secret에 따라서 바뀌게 됩니다. Gateway에 인증 시스템이 있으니 User-Service의 Secret 값이 바뀌면 당연히 Gateway의 Secret값도 동일한 값으로 변경되어야 합니다. 서론이 너무 길었네요 바로 시작하겠습니다. #pom.xml user-service와 동일하게 dependency를 추가해줍니다. org.springframework.boot spring-boot-starter-actuator org.springframework.cloud spring-cloud-starter-config org.springframework.cloud spri..
이번엔 한번 Config-Server에 있는 Yml 파일을 조금 수정해볼려고 합니다. #ecommerce.yml 기존 token 값에서 ecommerce 값을 추가해줍니다. token: expiration_time: 86400000 secret: ggpark_token_ecommerce gateway: ip: 0.0.0.0 #cmd 다시 cmd창을 열고 repositroy 가 있는 경로로 이동해줍니다. 그리고 아래의 커맨드를 입력해줍니다. git add ecommerce.yml git commit -m "changed some values" #Test UserService Test를 위해서 다시 User-Service를 재시작해줍니다. 정상적으로 바뀌었네요... 흠... 그런데 말이죠... 이거 묘하게 ..
지금까지 User-Service를 제작했는데 이제 Config Server 와 연동을 하려 합니다. 여기서부터는 새로 시작한다는 마음으로 지금까지 작성된 프로젝트를 공유합니다. 다만 저번 시간에 말씀드린 Config 의 기본설정을 완료하셨다는 전제로 진행하겠습니다. #프로젝트 파일 한 가지 주의하셔야할건 spring_cloud는 Work_Space 개념입니다. spring_cloud는 프로젝트가 아닙니다! 그리고 IntelliJ 를 활용한다는 기준으로 각 service는 하나의 창에서 하나씩 실행시켜아 합니다. STS나 Eclipse와는 다르게 Intellij 는 하나의 프로젝트는 하나의 Window라는 개념이라는 점 숙지 바랍니다. #개요 이번 시간에 진행할 내용은, Config-Server의 정보를 ..
기존에 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..
- Total
- Today
- Yesterday
- 운동
- 오늘저녁 삼겹살
- MSA
- Kafka Connect
- git
- Gateway
- LoadBalancer
- github
- config
- 미래의나에게동기부여
- ACTUATOR
- docker
- MariaDB
- 빅-오
- 루틴기록
- JWT
- prometheus
- kafka
- Feign
- zipkin
- consumer
- elasticSearch
- 운동일기
- Logstash 활용
- producer
- UserService
- Spring + ELK
- springcloud
- Logstash to ElasticSearch
- rabbitmq
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |