본문 바로가기

FrameWork/Spring Cloud19

암호화(Encryption) - 대칭키 대칭키(Symmetric Encryption) Shared 암호화, 복호화할 때 같은 키를 사용 하는 것 비대칭키(Asymetric Encryption) RSA Keypair 암호화, 복호화할 때 다른 키를 사용 하는 것 Java에서 제공되는 keytool을 사용 설정 파일에 중요한 Secret 값 같은 경우에는 쉽게 노출 되면 안되기 때문에 암호화를 통해 보관하고 설정파일을 통해 복호화해 각 Service에서 사용할 수 있는값으로 변경한다 config-service bootstrap.yml 파일 추가 및 encrypt key 설정 대칭키를 통해 암호화 대칭키를 통해 복호화 User-Service datasource 설정 주석처리 local storage에 저장된 user-service.yml 파일 수정.. 2021. 9. 5.
Spring Cloud Bus Spring Cloud Bus 분산 시스템의 노드(MicroService)를 경량 메시지 브로커(RabbitMQ)와 연결 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달(Broadcast) AMQP(Advanced message Queuing Protocol) 메시지 지향 미들웨어를 위한 개방형 표준 응용 계층 프로토콜 메시지 지향, 큐잉, 라우팅(P2P, Publisher-Subcriber), 신뢰성, 보안 Erlang, RabbitMQ에서 사용 Kafka 프로젝트 Apache Software Foundation이 Scalar 언어로 개발한 오픈 소스 메시지 브로커 프로젝트 분산형 스트리밍 플랫폼 대용량의 데이터를 처리 가능한 메시징 시스템 RabbitMQ 메시지 브로커 초당 20+ 메시지를 소.. 2021. 9. 4.
Configuration Service Spring Cloud Config 분산 시스템에서 서버, 클라이언트 구성에 필요한 설정 정보(application.yml(properties))를 외부 시스템에서 관리 하나의 중앙화 된 저장소에서 구성요소 관리 가능 각 서비스를 다시 빌드하지 않고, 바로 적응 가능 애플리케이션 배포 파이프라인을 통해 DEV(개발) - UAT(테스트) - PROD(프로덕션) 환경에 맞는 구성 정보 사용 구성 정보 저장 장소 Private Git Repository Secure Vault Secure File Storage 위와 같은 저장 장소에 저장한 설정 정보를 Spring Cloud Config Server가 정보를 가져와 Service에 등록된 MicroService에 데이터를 전달 해줌 Local Git Repo.. 2021. 9. 3.
E-Commerce 애플리케이션 구성 전체 애플리케이션 구성 Eureka service(Resigstry service) CATALOG-SERVICE, USER-SERVICE, ORDER-SERVICE 를 Eureka에 등록 Messaging Queuing Service인 kafka를 이용 외부에서의 요청은 Spring Cloude Gateway를 사용해 Routing service(부하 분산/서비스 라우팅) Configuration Service(Config Server)를 등록(외부서비스에 등록해 참조해서 사용하는 구조) reference SpringCloud로 개발하는 마이크로어플리케이션 2021. 8. 26.
Spring Cloud Gateway - Load Balancer Eureka 연동 first-service, second-service, Spring Cloud Gateway spring-cloud-starter-netflix-eureka-client 의존성 추가 eureka 서버 등록 application.yml - GatewayService uri 변경 First Service, Second Service를 각각 2개씩 기동 Intellij에서 포트를 변경해서 서버를 기동 하는법 VM Options -> -Dsever.port=[다른포트] ./gradlew bootRun --args='--server.port=[다른포트]' # gradle mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=[다른포.. 2021. 8. 25.
API Gateway Service API Gateway Service 서비스로 전달되는 모든 API요청의 관문(Gateway) 역할을 하는 서버 시스템의 아키텍처를 내부로 숨기고 외부의 요청에 대한 응답만을 적절한 형태로 응답 클라이언트는 서비스를 호출하는 게 아닌 API Gateway에 서로 약속한 형태의 요청만 보내면 됨\ 장점 인증 및 권한 부여 단일 작업 서비스(마이크로 서비스) 검색 통합 응답 캐싱 정책, 회로 차단 및 Qos 다시 시도 속도 제한 부하 분산(로드 밸런싱) 로깅, 추적, 상관관계 더보기 클라이언트의 요청을 일괄적으로 처리 전체 시스템의 부하를 분산시키는 로드 밸런서의 역할 동일한 요청에 대한 불필요한 반복 작업을 줄일 수 있는 캐싱 시스템상을 오고 가는 요청과 응답에 대한 모니터링 시스템 내부에 아키텍처를 숨길 .. 2021. 8. 25.