본문 바로가기

반응형

Spring

(53)
영속성 컨텍스트 (persistence context) 보호되어 있는 글입니다.
UserDetailService & PasswordEncoderFactories UserDetailService 유저 정보를 가지고, 인증을 하는 인터페이스이다. 이 인터페이스를 이용하여, DAO (DataAccessObject)를 통해서 DB에 저장되어 있는 유저 정보를 이용하여 인증을 하도록 구현체를 생성하여 커스터마이징 할 수 있다. Spring Security는 인증 사용자 정보를 UserDetails 타입의 객체를 통해 관리한다. @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Account account = accountRepository.findByUsername(username); if (account == null) { throw new ..
Zuul - API Gateway API Gateway 란, 클라이언트와 백엔드 서버 사이의 출입문 특정 URL 요청에 대한 라우팅 ( 라우팅, 필터링, API 변환, 클라이언트 어댑터 API, 서비스 프록시 ) 횡단 관심사 cross-service concerns ( => 모든 애플리케이션이 가지고 있는 관심사. 그러나, 중복적이고 복잡한.. ) 보안 - 인증 ( authentication ), 인가 ( authorization ) 일정량 이상의 요청 제한 ( rate limiting ) 계측 ( metering ) => API 호출에 대한 통계 로깅 프록시 Zuul 이란, 마이크로 프록시 실제 넷플릭스에서는 50개 이상의 AWS ELB 의 앞단에 위피해 3개의 AWS 리전에 걸펴 하루 백억 이상의 요청을 처리하고 있다고 한다. 멀티 ..
Feign Feign 이란, Interface 선언을 통해 자동으로 Http Client 를 생성할 수 있다. RestTemplate 는 concreate 클래스라 테스트 하기 어렵다. 관심사의 분리 서비스의 관심 - 다른 리소스, 외부 서비스 호출과 리턴값 관심 X - 어떤 URL 인지, 어떻게 파싱할 것인지 (jackson을 쓸 것인지....) Spring Cloud 에서 Open-Feign 기반으로 Wrapping 한 것이 Spring Cloud Feign 이다. Feign을 이용하면, 인터페이스 선언 만으로 Http Client 구현물을 만들어 준다. build.gradle compile('org.springframework.cloud:spring-cloud-starter-openfeign') // To u..
Eureka Eureka 란, 리본은 yml 파일을 통해 서버 목록을 관리하고, 이를 삭제하거나, 추가하기 위해서는 배포 없이 불가능하다. Netflex 의 Eureka 는 이러한 Dynamic Service Discovery 기능을 제공해준다. Service Registry 서비스 탐색, 등록 클라우드의 전화번호부? (단점) 침투적 방식 코드 변경 Discovery Client spring-cloud에서 서비스 레지스트리 사용 부분을 interface 화 Eureka, Consul, Zookeeper, etcd 등의 구현체가 존재 리본은 유레카와 결합하여 사용할 수 있으며 서버 목록을 자동으로 관리. 리본은 유레카가 로컬에 저장해 둔 서버 목록을 가져올 수 있고, 서비스를 실제 호출할 때에는, 유레카에 의해 혹은 ..
Hystrix & Ribbon Hystrix 란, 모노리틱 아키텍쳐가 아닌, MAS 를 따를 때, 각 서버에 대한 액세스 지점을 격리하여 하나의 서버에서 발생한 장애가 다른 서버에 영향을 주는 것 ( 계단식 장애 전파 ) 을 방지와 복원하기 위한 위한 여러 기능을 제공해주는 지연 및 장애 내성 (latency and fault tolerance) 라이브러리이다. github.com/Netflix/Hystrix/wiki 지연 및 장애 내성 ( Latency and Fault Tolerance ) 장애가 전파 방지 Fallback 과 graceful degradation. 빠르고 신속한 복구 circuit breaker를 이용한 Thread and semaphore를 격리 Realtime Operations 실시간 모니터링 및 confi..
트랜잭션 보호되어 있는 글입니다.
Spring Boot Redis 보호되어 있는 글입니다.

반응형