带你读《Apache Dubbo微服务开发从入门到精通》——四、服务网格(5)

简介: 带你读《Apache Dubbo微服务开发从入门到精通》——四、服务网格(5)

《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——四、服务网格(4) https://developer.aliyun.com/article/1223945


3. 基于Istio & xDS Proxyless的Mesh示例

 

Proxyless模式是指Dubbo直接与Istiod通信,通过xDS协议实现服务发现和服务治理等能力。

 

本示例中将通过一个简单的示例来演示如何使用Proxyless模式。

 

完整代码示例

 

1) 代码架构

 

本小节中主要介绍本文所使用的示例的代码架构,通过模仿本示例中的相关配置改造已有的项目代码可以使已有的项目快速跑在Proxyless Mesh模式下。

 

a) 接口定义

 

为了示例足够简单,这里使用了一个简单的接口定义,仅对参数做拼接进行返回。

 

image.png

 

b) 接口实现

 

image.png

 

c) 客户端订阅方式

 

由于原生xDS协议无法支持获取从接口到应用名的映射,因此需要配置providedBy参数来标记此服务来自哪个应用。

 

未来我们将基于Dubbo Mesh的控制面实现自动的“服务映射关系”获取,届时将不需要独立配置参数即可将Dubbo运行在Mesh体系下,敬请期待。

 

image.png

 

d) 服务端配置

 

服务端配置注册中心为istio的地址,协议为xds。

 

我们建议将protocol配置为tri协议(全面兼容grpc协议),以获得在istio体系下更好的体验。

 

为了使Kubernetes感知到应用的状态,需要配置qosAcceptForeignIp参数,以便Kubernetes可以获得正确的应用状态对齐生命周期。

 

e) 客户端配置

 

客户端配置注册中心为istio的地址,协议为xds。

 

image.png

 

快速开始

 

Step 1搭建Kubernetes环境

 

目前Dubbo仅支持在Kubernetes环境下的Mesh部署,所以在运行启动本示例前需要先搭建Kubernetes环境。

 

搭建参考文档:

 

minikube

kubeadm

k3s

 

Step 2搭建Istio环境

 

搭建Istio环境参考文档:Istio安装文档

 

注:

安装Istio的时候需要开启first-party-jwt支持。(使用istioctl工具安装的时候加上--set values.global.jwtPolicy=first-party-jwt参数),否则将导致客户端认证失败的问题。

 

附安装命令参考:

 

image.png

 

Step 3拉取代码并构建

 

image.png

 

Step 4构建镜像

 

由于Kubernetes采用容器化部署,需要将代码打包在镜像中再进行部署。

 

image.png

 

Step 5创建namespace

 

image.png

 

Step 6部署容器

 

image.png

 

查看consumer的日志可以观察到如下的日志:

 

image.png


《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——四、服务网格(6) https://developer.aliyun.com/article/1223940

相关文章
|
10月前
|
人工智能 Dubbo 应用服务中间件
使用 Apache Dubbo 释放 DeepSeek R1 的全部潜力
本文介绍了如何利用 Apache Dubbo 的多语言 SDK 充分释放 DeepSeek R1 的全部潜力,助力 AI 开发的高效落地。
408 89
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
776 112
|
Dubbo 应用服务中间件 Apache
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
在 Apache Dubbo 突破 4w Star 之际,Apache Dubbo 团队正式宣布,Dubbo 3.3 正式发布!作为全球领先的开源微服务框架,Dubbo 一直致力于为开发者提供高性能、可扩展且灵活的分布式服务解决方案。此次发布的 Dubbo 3.3,通过 Triple X 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
399 101
|
9月前
|
Dubbo 应用服务中间件 Apache
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
166 0
|
自然语言处理 监控 Cloud Native
探索微服务架构中的服务网格Service Mesh
【10月更文挑战第7天】服务网格(Service Mesh)是微服务架构中的关键组件,通过在每个服务实例旁部署Sidecar代理,实现服务间通信的管理、监控和安全增强。本文介绍了服务网格的基本概念、核心组件、优势及实施步骤,探讨了其在现代开发中的应用,并提供了实战技巧。
|
Kubernetes 负载均衡 安全
Istio在微服务中释放服务网格的力量
Istio在微服务中释放服务网格的力量
337 4
|
运维 负载均衡 监控
探索微服务架构下的服务网格(Service Mesh)实践之路
【8月更文挑战第30天】 在当今日益复杂的分布式系统中,微服务架构已成为众多企业解决系统扩展与维护难题的利器。然而,随着服务的不断增多和网络交互的复杂性提升,传统的微服务管理方式开始显得力不从心。服务网格(Service Mesh)作为一种新兴的解决方案,旨在通过提供应用层的网络基础设施来简化服务间通讯,并增强系统的可观察性和安全性。本文将分享我在采用服务网格技术过程中的经验与思考,探讨如何在现代云原生环境中有效地实施服务网格,以及它给开发和运维带来的变革。
|
负载均衡 监控 安全
Istio:微服务治理的超级英雄,一键解锁你的服务网格超能力,让管理复杂变简单!
【8月更文挑战第31天】随着云原生技术的发展,微服务架构成为主流,但其复杂性与管理难题也随之增加。Istio作为开源服务网格平台,通过独特的数据平面和控制平面设计,实现了微服务通信的透明管理,简化了治理复杂度。本文将对比Istio与传统微服务管理方法,详细介绍Istio的架构及其工作原理,包括Envoy代理、服务发现、负载均衡、流量管理、安全认证以及监控等功能。Istio不仅简化了微服务治理,还提供了强大的流量控制和安全机制,使开发者能更高效地管理应用。
500 2
|
开发者 项目管理 开发工具
震惊!单人开发者如何成功过渡到团队协作?Xamarin 项目管理经验大揭秘,让你的开发之路一帆风顺!
【8月更文挑战第31天】Xamarin 是移动应用开发领域的热门跨平台工具,适用于个人开发者及团队。个人开发时需明确需求、运用版本控制(如 Git)并合理规划项目结构以增强代码可维护性。团队协作时,则需建立有效沟通渠道、统一代码规范、严格版本控制及合理分配任务,以提升开发效率与项目质量。
237 1
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo

相关产品

  • 服务网格
  • 推荐镜像

    更多