> Java > java지도 시간 > 본문

Apache Dubbo 출시: Triple X가 마이크로서비스 통신의 새로운 시대를 선도합니다.

Patricia Arquette
풀어 주다: 2024-10-22 20:47:51
원래의
532명이 탐색했습니다.

Apache Dubbo가 별 40,000개를 돌파했으며 팀에서는 Dubbo 3.3의 공식 출시를 발표하게 된 것을 자랑스럽게 생각합니다! 선도적인 오픈 소스 마이크로서비스 프레임워크인 Dubbo는 개발자에게 분산 서비스를 위한 확장 가능하고 유연한 고성능 솔루션을 제공하기 위해 항상 노력해 왔습니다. Triple X 업그레이드를 특징으로 하는 Dubbo 3.3의 출시는 이전의 한계를 깨고 남북 및 동서 트래픽을 모두 포괄적으로 지원하고 클라우드 네이티브 아키텍처와의 호환성을 향상시킵니다.

더보 소개

Apache Dubbo는 처음에 Java로 개발된 고성능 경량 마이크로서비스 프레임워크입니다. 이후 Go, Rust 및 Python과 같은 여러 언어를 지원하도록 확장되어 언어 간, 플랫폼 간 분산 시스템을 구축하는 데 이상적입니다. Dubbo는 서비스 등록 및 검색, 로드 밸런싱, 내결함성, 콜 체인 추적 등 풍부한 서비스 거버넌스 기능을 제공하여 개발자가 효율적이고 유연한 마이크로서비스 아키텍처를 구축하는 데 도움을 줍니다.

Dubbo는 진화하면서 통신 성능, 서비스 거버넌스, 언어 간 호환성을 크게 향상시켜 최신 마이크로서비스 아키텍처를 지원하는 강력한 도구가 되었습니다.

트리플엑스 업그레이드 배경

Dubbo는 초기 적용에서 데이터 센터 서비스 상호 운용성 측면에서 뛰어난 성능을 보여주었습니다. 그러나 기술이 발전하고 애플리케이션 시나리오가 확장됨에 따라 원래 아키텍처에는 병목 현상이 나타나기 시작했습니다. 이러한 제한은 웹 프레임워크와 RPC 프레임워크 간의 빈번한 전환으로 인해 개발 복잡성이 증가하고 시스템 성능이 저하되는 지역 간 및 클라우드 간 환경에서 특히 두드러졌습니다.

전통건축의 문제점:

  1. 데이터 센터 애플리케이션으로 제한: 지역 간 또는 클라우드 간 애플리케이션에서 Dubbo의 기존 아키텍처는 광역 환경에 대한 기본 지원이 부족하여 개발자가 여러 프로토콜과 프레임워크 간에 전환해야 했습니다. 복잡성이 증가합니다.

  2. 북-남 및 동-서 트래픽 문제: Dubbo와 같은 기존 RPC 프레임워크는 서비스 간(동-서) 트래픽 최적화에 더 중점을 두는 경우가 많습니다. 그러나 효율적인 남북 통신(클라이언트-서버)에 대한 필요성이 증가하면서 새로운 과제가 탄생했습니다.

  3. 클라우드 네이티브 및 교차 언어 요구 사항: 클라우드 네이티브 기술이 성장함에 따라 시스템에는 기존 Dubbo가 지원하지 못했던 HTTP 프로토콜 및 교차 언어 통신에 대한 더 나은 지원이 필요합니다. 최적화되었습니다.

Triple X의 변화와 혁신: Triple X 업그레이드는 이러한 문제점을 직접적으로 해결합니다. 이는 HTTP/1, HTTP/2 및 HTTP/3 프로토콜을 지원하는 gRPC 프로토콜과의 완전한 호환성을 달성하는 동시에 Dubbo의 고성능 통신 기능을 계속 유지합니다. 이는 클라우드 간 및 지역 간 애플리케이션 시나리오에 더 많은 유연성과 효율성을 제공합니다.

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Triple X 코어 기능 개요

  • 포괄적인 트래픽 지원: Triple X는 북-남(클라이언트-서버) 및 동-서(서비스-서비스) 트래픽을 모두 지원합니다. 이러한 원활한 지원은 유연한 변환을 보장하여 통신 링크의 전반적인 효율성을 향상시킵니다.

  • gRPC 프로토콜 표준 준수: Triple X는 gRPC 프로토콜 표준을 준수하므로 Protobuf를 통한 통신이 가능합니다. 이를 통해 gRPC 서비스와의 원활한 상호 작용이 가능하고 Dubbo의 교차 언어, 교차 플랫폼 통신 기능이 확장됩니다.

  • HTTP 프로토콜 기반, 기본 클라우드 기반 지원: Triple X는 HTTP/1, HTTP/2 및 HTTP/3을 기반으로 구축되어 네트워크 성능을 최적화하고 클라우드 기반과 통합됩니다. 다양한 게이트웨이 및 서비스 메시 지원을 포함한 인프라

  • 고성능 최적화: Triple X는 특히 동시성이 높고 약한 네트워크 환경에서 극도의 성능 향상을 제공하여 시스템 처리량과 응답 속도를 크게 향상시킵니다.

  • 원활한 마이그레이션 및 프레임워크 호환성: Triple X를 사용하면 개발자가 코드를 수정하지 않고도 기존 Spring 웹 프로젝트를 마이그레이션할 수 있으므로 Spring MVC와 같은 프레임워크에 대한 지원을 유지하면서 Triple X로 원활하게 전환할 수 있습니다.

  • 높은 확장성: 20개 이상의 새로운 SPI 확장 포인트를 갖춘 Triple X는 라우팅, 매개변수 구문 분석, 직렬화, 예외 처리 등 핵심 동작을 사용자 정의할 수 있습니다. 이를 통해 유연성이 향상되어 개발자가 특정 비즈니스 요구 사항에 맞게 프레임워크를 조정할 수 있습니다.

트리플 X 사용 시나리오

Dubbo 3.3의

Triple X는 마이크로서비스 아키텍처를 위한 유연한 통합 접근 방식을 제공하여 다양한 시스템 요구 사항에 적응합니다. 시스템 아키텍처에 따라 Triple X는 중앙집중형분산형 통합 접근 방식을 모두 제공하므로 다양한 애플리케이션 시나리오에 적합합니다.

1. 중앙 집중식 통합

중앙 집중식 통합 접근 방식에서는 외부 트래픽이 통합 서비스 게이트웨이를 통해 Dubbo 백엔드 서비스로 들어갑니다. 게이트웨이는 적절한 백엔드 서비스에 대한 HTTP 트래픽 구문 분석, 전달 및 라우팅 요청을 처리합니다. 이 접근 방식은 통합 트래픽 관리, 흐름 제어 및 권한 확인에 대한 요구 사항이 높은 시스템에 적합하며 수신 트래픽을 중앙 집중식으로 제어할 수 있습니다.

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

  • 사용 시나리오: 트래픽 모니터링, 속도 제한 등 외부 요청의 중앙 집중식 관리가 필요한 시스템의 경우 Triple X는 HTTP/1, HTTP/2, HTTP/3 트래픽을 효율적으로 처리할 수 있습니다. 서비스 게이트웨이를 통해 Dubbo 서비스로 전달합니다.

  • 장점: 중앙 집중식 제어, 관리 용이성, 통합 트래픽 거버넌스가 필요한 대규모 시스템에 적합

2. 분산형 통합

분산형 통합 접근 방식에서는 외부 클라이언트가 중간 게이트웨이에 의존하지 않고 HTTP를 통해 직접 Dubbo 백엔드 서비스에 액세스할 수 있습니다. 이 접근 방식은 게이트웨이가 필요 없기 때문에 통신 오버헤드가 줄어들어 시스템 응답 속도가 향상되므로 고성능 및 낮은 대기 시간이 요구되는 시스템에 적합합니다. 게이트웨이 노드를 제거하면 게이트웨이 오류로 인한 시스템 가용성이 방지되므로 배포 아키텍처가 단순화되고 안정성이 향상됩니다.

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

  • 사용 시나리오: 중간 단계를 줄이고 응답 속도를 높이기 위해 HTTP를 통해 직접 Dubbo 서비스에 액세스해야 하는 시스템의 경우 Triple X를 사용하면 게이트웨이 없이 REST API를 노출할 수 있습니다.

  • 장점: 중간 단계를 제거하고 성능을 개선하며 아키텍처를 단순화하여 지연 시간이 짧은 애플리케이션에 적합합니다.

Triple X 기능의 세부 분석

1. 종합적인 교통관리와 효율적인 커뮤니케이션

복잡한 마이크로서비스 아키텍처에서는 북-남(클라이언트-서버) 및 동-서(서비스-서비스) 트래픽을 모두 처리하는 것이 어려울 수 있습니다. Triple X는 통합 통신 프로토콜을 사용하여 두 가지를 모두 지원하므로 웹 프레임워크와 RPC 프레임워크 간 전환이 필요 없고 개발 프로세스가 단순화되며 성능과 유지 관리성이 향상됩니다.

개발자는 Triple X를 활용하여 사용자가 시작한 요청과 서비스 간 통신을 효율적으로 지원할 수 있으며 모두 Triple X를 통해 원활하게 전송됩니다.

package org.apache.test;

@DubboService
public class UserServiceImpl implements UserService {
   // Handles east-west requests
}

// Triple X also supports north-south traffic
@DubboService
public class OrderService {
   @GetMapping("/order/{orderId}")
   public Order getOrderById(@PathVariable("orderId") String orderId) {}
}
로그인 후 복사
로그인 후 복사

2. gRPC 프로토콜 표준 준수

분산 시스템에서는 언어 간 서비스 간 통신이 어려운 경우가 많으며 gRPC가 널리 사용되는 솔루션입니다. Triple X는 gRPC 프로토콜 표준을 준수하여 언어 간 및 플랫폼 간 통신 기능을 향상시키는 Protobuf를 사용하여 gRPC와 원활한 상호 작용을 가능하게 합니다.

Triple X를 사용하는 서비스는 추가 조정 없이 gRPC 기반 서비스와 직접 상호 작용할 수 있어 개발이 단순화됩니다.

3. HTTP 프로토콜 기반, 네이티브 클라우드 네이티브 지원

클라우드 네이티브 환경에서 서비스는 성능 향상을 위해 다양한 HTTP 프로토콜을 지원하는 동시에 API 게이트웨이, 서비스 메시 등 다양한 네트워크 시설과 효과적으로 통합되어야 합니다.

Triple X는 HTTP/1, HTTP/2, HTTP/3을 지원하므로 개발자는 추가 구성 없이 긴 연결, 멀티플렉싱, 헤더 압축 등 이러한 프로토콜의 이점을 활용할 수 있습니다. HTTP/3도 HOL 차단 문제를 해결하고, UDP 기반 통신으로 취약한 네트워크 환경에서도 높은 품질과 서비스 성능을 유지합니다.

Triple X를 사용하면 Spring Boot의 기존 Servlet 포트를 재사용하여 HTTP 트래픽을 처리할 수 있으므로 별도의 Netty 수신 포트가 필요하지 않습니다. 이를 통해 네트워크 아키텍처가 단순화되고 유지 관리 비용이 절감되며 보안이 향상되고 트래픽이 기업 방화벽과 게이트웨이를 더 쉽게 통과할 수 있습니다.

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

4. 고성능 최적화, 5배 QPS 개선

동시성이 높은 시나리오에서 기존 통신 프로토콜은 병목 현상을 발생시켜 시스템 응답 시간과 처리량에 영향을 미치는 경우가 많습니다.

Triple X는 Radix TreeZero Copy와 같은 기술을 사용하여 CPU 사용량과 메모리 소비를 줄여 특히 동시성이 높고 약한 네트워크 환경에서 시스템 성능을 크게 향상시킵니다.

  • 효율적인 라우팅: 경로 일치를 위해 Radix Tree를 사용하고 키 해시 알고리즘을 최적화하며 동적 업데이트를 지원하여 메모리 사용량을 줄이고 일치 효율성을 높입니다.

  • 최적화된 메모리 사용량: Zero Copy와 객체 재사용을 결합하여 데이터 복사 및 객체 생성 오버헤드를 줄이고 가비지 수집 부담을 낮추고 처리량을 높입니다.

  • HTTP/3 지원: QUIC 기반 HTTP/3 프로토콜을 활용하여 지연 시간을 줄이고 연결 안정성을 높여 약한 네트워크 조건에서 성능을 향상시킵니다.

  • 다중 프로토콜 스트레스 테스트 및 최적화: Dubbo 팀은 여러 프로토콜에 대해 광범위한 스트레스 테스트를 수행하고 여러 차례의 최적화를 수행하여 다양한 시나리오에서 최적의 성능을 보장했습니다.

성능 테스트에 따르면 기존 Spring Boot REST 서비스와 비교하여 Triple X를 사용하는 간단한 REST 서비스는 높은 압력에서 5배의 QPS를 달성하고 응답 시간을 1/3로 줄이며 메모리 할당을 50%, 시스템 성능과 리소스 효율성이 크게 향상됩니다.

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

5. 원활한 마이그레이션 및 프레임워크 호환성

Triple X는 코드 변경 없이 기존 Spring 웹 프로젝트를 마이크로서비스 아키텍처로 마이그레이션하는 것도 지원합니다.

Triple X는 침해가 없는 마이그레이션 솔루션을 제공하므로 개발자는 Spring MVC와 같은 프레임워크를 계속 지원하면서 기존 코드를 변경하지 않고도 기존 Spring 웹 프로젝트를 Triple X로 마이그레이션할 수 있습니다.

package org.apache.test;

@DubboService
public class UserServiceImpl implements UserService {
   // Handles east-west requests
}

// Triple X also supports north-south traffic
@DubboService
public class OrderService {
   @GetMapping("/order/{orderId}")
   public Order getOrderById(@PathVariable("orderId") String orderId) {}
}
로그인 후 복사
로그인 후 복사

이 릴리스의 기타 향상된 기능 개요

1. 네이티브 이미지 AOT 지원

Dubbo 3.3에는 네이티브 이미지 AOT(Ahead-of-Time Compilation)에 대한 지원이 도입되어 개발자가 Dubbo 애플리케이션을 네이티브 바이너리로 컴파일할 수 있습니다. 이는 시작 시간과 메모리 사용량을 크게 줄여 서버리스 시나리오에 이상적입니다.

2. 프로젝트 Loom 지원

Dubbo 3.3에는 Project Loom에 대한 지원이 추가되어 가상 스레드를 사용하여 높은 동시성 시나리오에서 스레드 관리를 최적화하고 비동기 프로그래밍 모델을 단순화하며 동시성 처리를 개선합니다.

3. 새로운 라우팅 규칙

Dubbo 3.3은 또한 새로운 라우팅 규칙을 도입하여 보다 유연한 트래픽 제어 및 서비스 거버넌스를 지원하고 대규모 마이크로서비스 배포에 대한 적응성을 향상시킵니다.

결론

Apache Dubbo 3.3 출시는 마이크로서비스 통신 기술에 있어서 중요한 이정표를 세웠습니다. Triple X를 통해 Dubbo는 이제 남북 및 동서 트래픽 모두에 대한 포괄적인 지원, gRPC와의 원활한 통합, HTTP 프로토콜을 통한 클라우드 기반 지원, 중요한 성능 최적화를 제공하여 개발자에게 강력하고 현대적인 분산 시스템을 구축하기 위한 유연한 도구입니다.

서비스 간 통신의 효율성을 높이거나, 언어 간 호환성을 달성하거나, 클라우드 기반 통신 성능을 최적화해야 하는 경우 Dubbo 3.3은 현대 분산 시스템의 과제를 해결하기 위한 이상적인 선택입니다. . 지금 Dubbo 3.3으로 업그레이드하고 마이크로서비스 통신의 새로운 시대를 여는 Triple X가 가져온 변화를 경험해 보세요!

위 내용은 Apache Dubbo 출시: Triple X가 마이크로서비스 통신의 새로운 시대를 선도합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!