본문 바로가기
728x90
반응형
SMALL

spring cloud4

Spring Cloud 시리즈 5 - Loadbalancer (feat. Ribbon) Load Balancing 란? 로드밸런싱이란 네트워크 기술의 일종으로 둘 혹은 셋 이상의 컴퓨터 자원들에게 작업을 나누는 것을 의미 한다. 보통 고가용성 서비스를 제공하기 위해 인스턴스를 여러개 띄우고 트래픽을 분산해 각 인스턴스에게 요청을 전달한다. Load balancing 의 종류 L2: Mac 주소를 바탕으로 부하 분산 L3: ICMP를 이용하여 서버의 IP 주소가 통신 가능한 상태인지 확인하여 부하 분산 L4: Transport 계층, IP 주소와 포트 번호 부하 분산 (TCP, UDP 포트 정보를 바탕으로 분석) L7: Application 계층, URL 또는 HTTP 헤더에서 부하 분산 (HTTP, FTP..) Load balancing algorithm 라운드 로빈: 대상 서버에 순서대로.. 2023. 6. 1.
Spring Cloud 시리즈 4 - Service Discovery (feat. Eureka) Service Discovery 란? MSA 에서 서비스간 원격 호출 시 각 서비스의 IP/Port 등의 정보를 알아야 한다. Cloud 환경에서 오토스케일등에 의해 동적 생성되거나 컨테이너 기반 배포로 인해 서비스의 IP 가 동적으로 변경된다. Microservice 가 다른 서비스를 호출할 때 해당 서비스의 위치 정보를 알아낼 수 있는 기능이 필요하다. 이것을 바로 서비스 디스커버리 라고 한다. Client side discovery A Service 의 인스턴스들이 생성될 때 Service registry 에 등록한다. Client 는 Service registry 에 Service A 의 주소를 물어보고 등록된 주소를 받아 호출한다. 비교적 간단하다. (장) Client 가 사용 가능한 서비스 인.. 2023. 5. 30.
Spring Cloud 시리즈 1 - 개요 들어가기 전 모놀리틱 아키텍처로 처음에 시작 - 서비스가 커지면서 조직이 나뉜다. (상품팀, 고객관리팀, 접수팀, 주문팀....) - 공통코드를 .jar 로 만들고 각자 repository 로 관리하고 개발하고 merge 한다. - conflict 발생, 배포는 누가? 각 팀의 일정이 다른데? QA 는 어떻게? - 모놀리틱 아키텍처는 단순하고 배포가 쉽고 scale-out 이 단순하다. 하지만 무겁고 start 가 느리고 기술 stack 을 바꾸기 어렵고 결합도가 높으며 코드 책임 한계와 소유권이 불투명 하다. - 이쯤에서 회사는 결정을 하게 된다. 새로운 언어, 깔끔한 코드로 전면 재개편 하거나 (차세대 프로젝트), MSA 플랫폼을 구축하며 기존 Legacy를 교살 한다. MSA 아키텍처 - 각 서비스.. 2023. 5. 17.
Spring Cloud 시리즈 2 - Spring Cloud Config Spring Cloud Config - 분산 시스템에서 외부화된 설정 정보를 서버 및 클라이언트에 제공하는 시스템 - Spring Cloud Config Server (설정 서버) . Version 관리 Repository로 백업된 중앙 집중식 구성 노출 지원 . 특징 1) HTTP, resource-based API for external configuration 2) Encrypt and decrypt 3) Embeddable easily in a Spring Boot application using @EnableConfigServer - Spring Cloud Config Client (설정 클라이언트) . 애플리케이션이 설정 서버에 연결하도록 지원 . 특징 1) Bind to the Config .. 2023. 5. 16.
728x90
반응형
LIST