마이크로서비스 아키텍처란 무엇인가요? 주류 마이크로서비스를 구현하는 방법은 무엇입니까?
간단히 말하면 마이크로서비스 아키텍처는 비즈니스 도메인 또는 비즈니스 기능을 경계로 삼아 크고 포괄적인 애플리케이션을 독립적으로 개발, 배포, 테스트 및 실행할 수 있는 작은 애플리케이션 그룹으로 나눕니다. , 경량의 공통 메커니즘을 사용하여 이 애플리케이션 그룹 간에 통신합니다.
주요 마이크로서비스에는 다음이 포함됩니다.
1. Spring Cloud
Spring의 Spring Cloud는 Spring 커뮤니티의 강력한 지원과 함께 강력한 지원을 받습니다. Netflix 기술 출력을 지원합니다. 마이크로서비스 아키텍처를 성공적으로 구현한 인터넷 기업인 넷플릭스는 몇 년 전 거의 전체 마이크로서비스 프레임워크 스택을 오픈소스로 커뮤니티에 기여했습니다. 이러한 프레임워크의 전체 서비스 아키텍처 제품군이 Spring Cloud의 핵심입니다.
- Eureka: 서비스 등록 검색 프레임워크
- Zuul: 서비스 게이트웨이
- Karyon: 서버측 프레임워크; - 리본: 클라이언트 프레임워크;
- Hystrix: 서비스 내결함성 구성 요소;
- Archaius: 서비스 구성 구성 요소;
- Servo: 메트릭 구성 요소;
p >
- Blitz4j: 로그 구성 요소
2. Dubbo
Dobbo는 분산 서비스 프레임워크이자 Alibaba의 개방형 마이크로서비스 거버넌스 프레임워크로, 성능 개선과 투명한 RPC 원격 서비스에 전념합니다. 통화 솔루션 및 SOA 서비스 거버넌스 솔루션입니다. 핵심 부분(공식 웹사이트)
- 원격 통신: 다중 스레드 모델, 직렬화 및 "요청-응답" 모드 정보 교환 방법을 포함하여 긴 연결을 기반으로 다양한 NIO 프레임워크의 추상 캡슐화를 제공합니다.
- 클러스터 내결함성: 다중 프로토콜 지원은 물론 소프트 로드 밸런싱, 장애 허용, 주소 라우팅, 동적 구성 및 기타 클러스터 지원을 포함한 인터페이스 방법을 기반으로 투명한 원격 프로시저 호출을 제공합니다.
p>
- 자동 검색: 등록 센터 디렉토리 서비스를 기반으로 서비스 소비자는 서비스 제공자를 동적으로 검색할 수 있으므로 주소가 투명해지고 서비스 제공자가 원활하게 시스템을 추가하거나 줄일 수 있습니다.
Dubbo는 또한 전체 Spring 구성 방법을 사용하여 애플리케이션에 대한 API 침입 없이 애플리케이션에 투명하게 액세스합니다. Spring의 스키마 확장을 기반으로 Dubbo의 구성을 로드하려면 Spring만 사용하면 됩니다. 물론, 공식적으로 권장되지 않는 API 호출 방식도 지원됩니다.
3. lstio
lstio는 마이크로서비스 집합 계층 관리를 위한 최첨단 프로젝트로 Google, IBM, Lyft(해외 최대 규모)에서 최초로 사용됩니다. Uber의 경쟁사). 마이크로서비스의 연결, 보안, 관리 및 모니터링을 위한 통합 솔루션을 제공하는 공동 오픈 소스 프로젝트입니다.
현재 첫 번째 베타 버전은 Kubernetes 환경을 위한 것이며 커뮤니티에서는 앞으로 몇 달 안에 가상 머신, Cloud Foundry 등 다른 환경에 대한 지원을 추가할 것이라고 주장합니다. lstio는 마이크로서비스에 트래픽 관리를 추가하고 보안, 모니터링, 라우팅, 연결 관리, 정책과 같은 부가 가치 기능의 기반을 만듭니다.
- HTTP, gRPC 및 TCP 네트워크 트래픽의 자동 로드 밸런싱
- 세분화된 네트워크 트래픽 동작 제어를 달성하기 위한 풍부한 라우팅 규칙 제공; 트래픽 암호화, 서비스웨어 인증 및 강력한 신원 확인,
- 차량 전체 정책 시행,
- 심층 원격 측정 및 보고.