-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: #BBB-136 로그인 및 회원가입 시 클라이언트와 서버 간 종단간 암호화 적용 #57
Feat: #BBB-136 로그인 및 회원가입 시 클라이언트와 서버 간 종단간 암호화 적용 #57
Conversation
cee1eb6
to
b5e0cdb
Compare
d4f2d80
to
2993e5c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다. 덕분에 Retry & CB패턴에 대해 알아보는 시간을 가질 수 있었네요
resilience4j: | ||
circuitbreaker: | ||
failure-rate-threshold: 10 | ||
slow-call-duration-threshold: 500 | ||
slow-call-rate-threshold: 10 | ||
wait-duration-in-open-state: 30000 | ||
minimum-number-of-calls: 50 | ||
sliding-window-size: 100 | ||
permitted-number-of-calls-in-half-open-state: 30 | ||
retry: | ||
wait-duration: 100 | ||
max-attempts: 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 설정값은 어디서 사용하는 걸까요? class CircuitBreakerProperty
에서는 사용하지 않는 것 같아서요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CircuitBreakerProperty
클래스에 @ConfigurationProperties(prefix = "resilience4j.circuitbreaker")
어노테이션 선언을 통해 해당 application.yml의 설정 값을 읽어오게 돼요.
만약 읽어오는데 실패했다면, CircuitBreakerProperty
클래스에 선언된 값으로 설정되게 됩니다
...rc/main/java/com/bombombom/devs/external/global/decryption/InMemoryAsymmetricKeyManager.java
Outdated
Show resolved
Hide resolved
…도록 적용 Redis 장애 시, 이미 인메모리에 저장된 서버 간에 공유되는 비대칭키를 사용하도록 하여 항상 로그인 요청이 처리될 수 있도록 보완했습니다.
새로운 버전의 인메모리용 비대칭키가 추가된 경우, 해당 API를 호출하여 DB에서 최신 버전의 비대칭키를 읽어온 후 갱신합니다.
2993e5c
to
f3f695d
Compare
…signup#BBB-136 Feat: #BBB-136 로그인 및 회원가입 시 클라이언트와 서버 간 종단간 암호화 적용
작업 개요
고민한 점
비대칭 키 갱신 시점에도 유연하게 복호화를 진행하기 (versioning 이용)
Redis 장애에도 원활한 암·복호화 진행하기 (서버마다 공유되는 비대칭키와 circuit breaker의 fallback method 이용)
전달 사항
현재 로그인과 회원가입 상황에만 적용됨
참고 자료
circuit breaker 적용을 위한 resilience4j
https://resilience4j.readme.io/docs/circuitbreaker