티스토리 뷰

- 해당 포스트는 전에 진행한 Config -Service 에서 이어집니다.

- 또한 해당 포스트는 인프런 강좌 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)를 참조했습니다.

# Profiles?

yml File을 읽을 때 Profiles를 설정해주면, 각각 의 서비스에 서로 다른 Yml을 제공해줄 수 있습니다. 

백번의 말 보다는 직접 해보는게 더 와닿을 것이라 생각이 드니 바로 시작할게요!

 

가장 먼저 진행 할 것은 기존에 작성한 ecommerce.yml 파일을 복사해서 3개로 늘려주세요


제목 형태는 application을 Default로 두고 뒤에 성질을 알 수 있도록 dev와 prod를 붙혔습니다.

#ecommerce.yml

token:
   expiration_time: 86400000
   secret: ggpark_token_changed

gateway:
  ip: 0.0.0.0

#ecommerce-dev.yml

token:
   expiration_time: 86400000
   secret: ggpark_token_dev

gateway:
  ip: 0.0.0.0

#ecommerce-prod.yml

token:
   expiration_time: 86400000
   secret: ggpark_token_prod

gateway:
  ip: 0.0.0.0

secret값도 각 yml 파일에 맞게 수정해줬습니다.


#Cmd

파일 추가 후엔 commit도 잊지 말고 진행 해줄게요.

일일히 진행할 필요없이 . 을 입력하면 현재 위치에 있는 모든 파일을 add 할 수 있습니다.

git add .

git commit -m "changed the yaml file"

 

다음으로는 profile을 활성화 시키기 위해서 각 서비스의 Bootstrap.yml 파일을 수정해줘야 합니다.


#Bootstrap.yml ( User-Service )

spring:
   cloud:
      config:
         uri: http://127.0.0.1:8888
         name: ecommerce
   profiles:
      active: dev

dev Profile 추가


#Bootstrap.yml ( Gateway-Service )

spring:
   cloud:
      config:
         uri: http://127.0.0.1:8888
         name: ecommerce
   profiles:
      active: prod

prod Profile 추가


#Test Case 1


다음으로는 이어서 바로 테스트를 진행해보겠습니다. 구동이 필요한 서비스로는

Ecommerce (EurekaServer) , UserService , ApigateWay Service , Config Server 가 있습니다.

 

1. 회원 등록

2. 로그인

로그인 작업 시 token 값을 복사하는 것 기억해주세요.

3. 토큰 검증

마지막으로 health_check를 통해서 바뀐 토큰 정보를 확인해볼게요. Bearer Token을 체크 하는 것도 잊지말아주세요!

????

왜 안되는 걸까요? 이상하게도 401 에러가 발생합니다. 토큰 정보를 입력했는데 왜 인증정보에서 에러가 나는 걸까요?

User-Service와 Gateway의 토큰 정보가 다르면 어떻게 될까요? 토큰 생성할때는 User-Service를 참조하고, 토큰 인증 시 Gateway의 정보를 참조한다면, 서로 다른 토큰으로 인해서 제대로 인증이 되지 않습니다. 다만, 서로 다른 프로필을 참조하고 있음을 알기 위해서 위와 같이 코드를 작성했습니다. 그럼 이제 다시 프로필을 수정해줍니다. 


#Bootstrap.yml ( Gateway-Service )

spring:
   cloud:
      config:
         uri: http://127.0.0.1:8888
         name: ecommerce
   profiles:
      active: dev

 

이제 User Service와 똑같은 토큰 정보를 참조 할 수 있습니다! 


#TestCase2 

프로필을 수정했으니 눈물을 머금고, 다시 서비스를 시작해줍니다.

다음과 같이 인증에 성공했다면, 아주 잘되고 있다는 증거입니다!

token값도 ggpark_token_dev로 바뀐게 보이시나요? 이렇듯 Profile을 사용하면, 다양한 yml파일을 좀더 쉽게 

활용 할 수 있습니다.

 

감사합니다. 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함