spring cloud MSA

Dasole Kwon·2022년 9월 1일
0

-AntiFragile
auto scaling: 자동확장성
Microservices: 세분화 된 cloud native architecture의 핵심
Chaos engineering: 예측하지 못 한 시스템에 구축 되어있는 서비스 방법
Continuous deployments: CI/CD 무중단배포

Cloud Native Architecture의 특징
확장 가능한 아키텍처
-시스템의 수평적 확정에 유연
-확장된 서버로 시스템의 부하 분산, 가용성 보장
-시스템 또는, 서비스 애플리케이션 단위의 패키지(컨테이너 기반 패키지)
-모니터링

탄력적 아키텍처
-서비스생성 - 통합 - 배포, 비즈니스 환경 변화에 대응 시간 단축
-분활 된 서비스 구조
-무상태 통신 프로토콜
-서비스의 추가와 삭제 자동으로 감지
-변경된 서비스 요청에 따라 사용자 요청 처리(동적 처리)

장애격리(Fault isolation)
-특정 서비스에 오류가 발생해도 다른 서비스에 영향 주지 않음

-12 Factors
: Base Code, Dependency Isolation, Configurations, Linkable backing services, Stages of creation, Stateless processes, Port Binding, Concurrency, Disposability, Development&Production parity, Logs, Admin processes for eventual processes + API first, Telemetry, Authentication and authorization

Monolith vs Microservice Architecture
Monolith Architecture: 모든 업무 로직이 하나의 애플리케이션 형태로 패키지 되어 있는 서비스, 애플리케이션에서 사용하는 데이터가 한곳에 모여 참조되어 서비스 되는 형태
Micrsoervice Architecture: small autonomous that works together

SOA vs MSA
SOA: 재사용을 통한 비용 절감, 공통의 서비스를 ESB에 모아 사업 측면에서 공통 서비스 형식으로 서비스 제공
MSA: 서비스 간의 결합도를 낮추어 변화에 능동적으로 대응, 각 독립된 서비스가 노출된 REST API를 사용

Netflix Ribbon: Client side Load Balancer
-서비스 이름으로 호출
-Health Check

Netflix Zuul(Gateway 역할)
Spring Cloud Netflix Eureka는 Microservices 앞 단에 위치하는 API Gateway로, 클라이언트의 호출을 받아 뒷 단의 Microservices에게 전달한다.

모든 Service들이 처리해야하는 공통 코드를 처리.

0개의 댓글

관련 채용 정보