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

本文涉及的产品
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 带你读《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

相关文章
|
21天前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
46 2
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
3月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
82 0
|
24天前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
2月前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
214 17
微服务框架Dubbo环境部署实战
|
2月前
|
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 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
134 8
|
21天前
|
负载均衡 算法 应用服务中间件
深入探索微服务架构中的服务治理
【10月更文挑战第15天】深入探索微服务架构中的服务治理
14 0
|
26天前
|
监控 安全 Java
深入探索微服务架构中的服务治理
【10月更文挑战第10天】深入探索微服务架构中的服务治理
29 0
|
3月前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
3月前
|
Prometheus 监控 Java
微服务架构下的服务治理策略:打破服务混乱的惊天秘籍,开启系统稳定的神奇之门!
【8月更文挑战第7天】微服务架构将应用细分为可独立部署的小服务,提升灵活性与可扩展性。但服务增多带来治理挑战。通过服务注册与发现(如Eureka)、容错机制(如Hystrix)、监控工具(如Prometheus+Grafana)、集中配置管理(如Spring Cloud Config)和服务网关(如Zuul),可有效解决这些挑战,确保系统的高可用性和性能。合理运用这些技术和策略,能充分发挥微服务优势,构建高效应用系统。
62 1

相关产品

  • 服务网格
  • 推荐镜像

    更多
    下一篇
    无影云桌面