带你读《Apache Tomcat的云原生演进》——Dubbo Echo System-Dubbo Go Pixiu(1)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 带你读《Apache Tomcat的云原生演进》——Dubbo Echo System-Dubbo Go Pixiu(1)

Dubbo Echo System-Dubbo Go Pixiu

1. 关于Pixiu

 

image.png

 

Dubbo-Go-Pixiu是一个基于Dubbo-Go的云原生、高性能、可扩展的微服务API网关,它可以帮助我们轻松地对外暴露Dubbo Server的服务,实现跨语言和跨框架的调用和集成。

 

2019年Pixiu项目提交了第一行代码,同时,开始实现Http to Dubbo的代理。在Dubbo Go社区的支持下,Pixiu进入Apache,开启了新的历程。2022年发布了v0.5.0版本,这个版本发布之后,意味着Pixiu在Dubbo代理层面功能基本完善。2023年我们实现了更多Dubbo协议之间的互相转换,在配置、安全性、可扩展性以及可观测性上有了很多的改进。

 

image.png 

 

那么Pixiu可以做什么呢?

 

作为一个API gateway,它支持Http/Https协议的代理。

支持Dubbo2/Triple协议的代理。

支持Dubbo Java/Golang 的接口级/应用级服务发现。

支持路由/鉴权/限流。

支持基于Wasm的插件机制等。

 

image.png


上图是Pixiu的架构图, 我们以Http2Dubbo的场景为例,左侧是Client,这个Client发出一个Http请求,经过Pixiu最终到达上游的Dubbo应用,然后把响应返回给调用方。Client的一个HTTP请求发出之后会首先到达Pixiu的Listener,也就是Pixiu的入口,它支持Http、Dubbo、Triple协议。

在这个请求进入到Listener之后会到达Router,找到对应的上游机群,这样就可以发起一个对Dubbo应用的调用。这个Router除了静态配置之外,还支持基于注册中心的自动服务发现,在一个Dubbo应用启动后,Dubbo会把自己的元数据存放到这个注册中心。

 

Pixiu在启动时会用到一个模块叫Adpter,这个模块在启动之后会自动在注册中心中拉取对应的元数据,然后把这些元数据转化成Pixiu的Router中的多条路由,这样就可以避免非常多的手动配置。

 

在经过Router的负载均衡和健康检查之后,会到达一个Filter链,这个Filter链实现了很多较丰富的功能,比如有鉴权、日志、限流等等。最后会到达Clent的Filter,这个Filter会根据协议选择对应的Pixiu Client,比如现在的场景是HTTP2 Dubbo的,它就会自动选择一个可以进行Dubbo调用的Client。

 

这个Dubbo Client会去调用上游的Dubbo应用,最终把响应返回给发起HTTP调用的Client。当然,这个Client也支持Dubbo和Http,可以根据协议自动选择。


带你读《Apache Tomcat的云原生演进》——Dubbo Echo System-Dubbo Go Pixiu(2)https://developer.aliyun.com/article/1377516

相关文章
|
3月前
|
Ubuntu Java 应用服务中间件
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
95 0
|
1月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
33 4
|
1月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
37 3
|
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 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
139 8
|
3月前
|
Cloud Native JavaScript API
一文读懂云原生 go-zero 微服务框架
一文读懂云原生 go-zero 微服务框架
|
3月前
|
Java 应用服务中间件 Apache
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
本文介绍了在IntelliJ IDEA中修改Web项目访问路径的步骤,包括修改项目、模块、Artifacts的配置,编辑Tomcat服务器设置,以及解决Apache Tomcat控制台中文乱码问题的方法。
212 0
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
|
3月前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
3月前
|
Kubernetes Cloud Native Go
云原生之旅:构建和部署一个简单的Go应用程序
【8月更文挑战第31天】在本文中,我们将探索如何利用云原生技术构建和部署一个Go语言编写的简单Web应用。通过实际操作示例,我们不仅能够了解云原生的基本概念,还能学习到如何在Kubernetes集群上运行和管理容器化应用。文章将引导读者从零开始,逐步搭建起自己的云原生环境,并实现代码的容器化与自动化部署,最终达到持续交付的目的。
|
3月前
|
Ubuntu Java 应用服务中间件
在Ubuntu 16.04上安装Apache Tomcat 8的方法
在Ubuntu 16.04上安装Apache Tomcat 8的方法
35 0
|
3月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
131 0

推荐镜像

更多