반응형

WEB/MSA[Cloud Native Java] 5

ERROR - java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationPropertiesBean

Spring boot application 에서 spring boot cloud로 전환 시 발생한 문제 상황 2개의 서비스 (spring boot app) zuul-gateway 추가 eureka-server 추가 netflux의 서비스를 기존 app에 연동하며 발생한 문제로 dependency manager에 클라우드 의존성을 추가하고, boostrap.yml 파일을 추가하여 서비스 id 부여한 상황. A Service의 pom.xml parent org.springframework.boot spring-boot-starter-parent 2.1.12.RELEASE B Service 의 pom.xml org.springframework.boot spring-boot-starter-parent 2.2.4..

netflix - eureka - server 설정

서버 설정할 때 필요하지만 할 때마다 새로 찾아보는 것들.. eureka.client: register-with-eureka: false fetch-registry: false 자기 자신은 제외 (이 설정을 하지 않으면 아래의 로그를 볼 수 있습니다.) 더보기 2020-02-02 15:43:11.310 WARN 22964 --- [tbeatExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failed with message: java.net.ConnectException: Connection refused: connect 2020-02-02 15:43:11.311 ERROR 22964 --- [tbeatExecutor-0] com..

[9] 데이터 관리 - 데이터 모델링

데이터 모델링 목표: 클라우드 네이티브 애플리케이션을 만들 때 필요한 데이터 관리에 대해 알아보기 - 스프링 데이터 프로젝트의 repository - 마이크로서비스에서 저장된 데이터에 대한 접근을 처리하는 방법 비즈니스 모델을 애플리케이션에 효과적으로 반영하기 위해서는 매우 잘 설계된 데이터 모델이 중요하다. -도메인 모델 도메인 주도 디자인을 통해 해결하고자 하는 문제는 바로 복잡성 각 도메인 모델의 구분은 명확히 하고 모델의 의미가 확장될 수 있다면 경계를 설명해야한다. 따라서 데이터 스토어는 단순히 바이트를 저장하기 위한 것이 아닌, 비즈니스 도메인의 관계와 엔티티를 기술적으로 묘사하는 저장소인 것. 관계형 데이터베이스 관리 시스템 - RDBMS 기술의 발전으로 인한 RDBMS의 한계점 트랜잭션을 ..

[8] OAuth

OAuth는 Open Authorization의 약자로서 인터넷에서 토큰 기반 인가의 표준이다. 인가토큰의 장점은? 아이디와 패스워드가 노출되는 시간 간격을 줄임 클라이언트가 패스워드에 얽매이지 않게 함 잘못된 클라이언트가 올바른 사용자의 계정을 잠글 수 없도록 보장 인증 (Authentication) : 사용자가 누구인지 확인 인가 (Authorization) : 사용자가 무슨 권한을 가지고 있는지를 확인 인증과 인가는 다른 성격의 프로토콜을 지니고 있기 때문에 인증은 OAuth와 별개로 다른 곳에서 처리되어야 하며, 인증이 처리된 후에는 OAuth가 제어권을 넘겨받는다. 토큰은 클라이언트에 따라 달라지며, 인증이 완료되면 토큰을 써서 요청에 대한 인가를 받을 수 있다. OAuth 관련 용어 클라이언트..

[8]Edge Service Secure

엣지 서비스의 보안 엣지 서비스는 잠재적으로 악의적인 공격 의도를 담고 있는 요청을 가장 먼저 방어할 수 있는 최전방 수비대 엣지 서비스는 시스템 안으로 들어온 요청을 인증하고, 인증 관련 컨텍스트 정보를 다운스트림 서비스에 전파한다. 인증은 요청을 생성한 주체에 대한 식별이 필요함을 의미 누가 요청을 보냈나? 사용자가 요청을 어느 클라이언트에서 보냈나? 누구인가와 함께 어떤 클라이언트인가 고려해야한다. Ex) 1. 타 사이트에서 페이스북 로그인 인가요청 API 2. IOS 앱에서 로그인 두 개의 페이스북 클라이언트에서 각각 다른 권한을 가지고 있다.

반응형