-
Spring Cloud 페이지 한글 정리개발 일지/Cloud 2022. 5. 19. 14:25반응형
안녕하세요.
이전 글에 이어서 spring.io에 있는 Spring Cloud 페이지를 읽어보겠습니다.
Cloud
분산 시스템을 개발하는 것은 어려울 수 있습니다.
복잡도는 애플리케이션 계층에서 네트워크 계층으로 이동하고 서비스 사이에 더 큰 상호작용을 요구합니다.
우리의 코드를 'cloud-native'로 만든다는 것은 외부 구성(configuration), 격리성(statelessness), 로깅 및 지원 서비스 연결과 같은 12가지 문제를 처리하는 것을 의미합니다.
Spring Cloud 프로젝트에는 클라우드에서 애플리케이션을 실행하는 데 필요한 많은 서비스가 포함되어 있습니다.
Spring Cloud 아키텍처
서비스 탐색
클라우드에서 애플리케이션은 항상 다른 서비스의 정확한 위치를 알 수 없습니다.
Netflix Eureka와 같은 서비스 레지스트리나 HashiCorp Consul과 같은 사이드카 솔루션을 활용할 수 있습니다.
Spring Cloud는 Eureka, Consul, Zookeeper, 그리고 Kubernetes의 빌트-인 시스템과 같은 인기 있는 레지스트리에 대한 DiscoveryClient 구현을 제공합니다.
또한 서비스 인스턴스 사이에 부하 분산을 위한 Spring Cloud Load Balancer도 있습니다.
> 튜토리얼
API 게이트웨이
사용 중인 클라이언트와 서버가 너무 많기 때문에 클라우드 아키텍처에 API 게이트웨이를 포함하는 것이 좋습니다.
게이트웨이는 메시지 보안 및 라우팅, 서비스 감추기, 로드 제한하기 및 여러 유용한 작업을 처리할 수 있습니다.
Spring Cloud Gateway는 API계층을 정밀하게 제어하고 Spring Cloud 서비스 탐색(Discovery)과 클라이언트측 로드 밸런싱 솔루션을 통합합니다.
장점:
- Low latency
- good throughput
- a very small percentage of timeout
> 튜토리얼
Cloud configuration
클라우드에서 구성(configuration)은 단순히 애플리케이션 내부에 포함될 수 없습니다.
구성은 여러 애플리케이션, 환경 및 서비스 인스턴스에 대처할 수 있을 만큼 유연해야 되고 가동 중지 시간 없이 동적 변경을 처리해야 합니다.
Spring Cloud Config는 이러한 부담을 완화할 수 있게 설계되었고 Git과 같은 버전 관리 시스템과 연동할 수 있는 기능을 제공합니다.
> 튜토리얼
Circuit Breakers
분산 시스템은 신뢰성을 보장하지 않습니다.
개별 요청(request)에 대해 응답이 시간 초과가 발생하거나 완전히 실패할 수 있습니다.
Spring Cloud Circuit Breaker는 Resillience4J, Sentinel 또는 Hystrix의 3가지 옵션이 있습니다.
> 튜토리얼
Tracing
분산 애플리케이션의 디버깅은 복잡하고 시간이 오래 걸릴 수 있습니다.
장애가 발생하면 독립적인 여러 서비스의 추적 정보를 통합해야 할 수 있습니다.
Spring Cloud Sleuth는 예측 가능하고 반복 가능한 방식으로 애플리케이션을 계측할 수 있습니다.
그리고 Zipkin과 함께 사용하면 발생할 수 있는 모든 대기 시간 문제를 해결할 수 있습니다.
Testing
클라우드에서는 안정적이고 신뢰할 수 있는 안정적인 API를 사용하면 좋지만 이를 달성하는 데는 약간의 구성이 필요합니다.
Contract-based 테스트는 성과가 좋은 팀이 일정을 유지하기 위해 자주 사용하는 기술 중 하나입니다.
API의 콘텐츠를 공식화하고 코드가 계속 점검되도록 테스트를 구축함으로써 도움이 됩니다.
Spring Cloud Contract는 Groovy, Java 또는 Kotlin으로 작성된 계약을 통해 REST 및 메시징 기반 API에 대한 계약 기반 테스트 지원을 제공합니다.
> 튜토리얼
음...!
spring.io의 클라우드 페이지에 있는 내용들은 각 영역들에 대한 요약이었습니다.
그런데도 카테고리가 상당히 많군요.
토픽만 해도 총 6개 였습니다.
하나 하나 좀더 자세히 들여다보고 튜토리얼은 좀 해보면 지금보다 이해도가 더 높아지겠죠!
이제 행동에 옮겨야 할 시간이군요.
반응형'개발 일지 > Cloud' 카테고리의 다른 글
Spring Cloud Gateway (feat. spring.io) (0) 2022.06.27 서비스 등록 및 디스커버리 (feat. spring.io) (0) 2022.05.20 Bitvise SSH 클라이언트 및 Proxy Forwarding (0) 2022.04.08 AWS EC2 인스턴스 생성하기 (0) 2022.04.08 GCP 시작하기 (0) 2021.11.18