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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《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

相关文章
|
4天前
|
Ubuntu Java 应用服务中间件
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
15 0
|
4天前
|
Java 应用服务中间件 Apache
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
本文介绍了在IntelliJ IDEA中修改Web项目访问路径的步骤,包括修改项目、模块、Artifacts的配置,编辑Tomcat服务器设置,以及解决Apache Tomcat控制台中文乱码问题的方法。
9 0
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
|
5天前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
4天前
|
Ubuntu Java 应用服务中间件
在Ubuntu 16.04上安装Apache Tomcat 8的方法
在Ubuntu 16.04上安装Apache Tomcat 8的方法
6 0
|
4天前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
6 0
|
4天前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
16 0
|
4天前
|
Java 应用服务中间件 Apache
在 Debian 服务器上安装和配置 Apache Tomcat 的方法
在 Debian 服务器上安装和配置 Apache Tomcat 的方法
7 0
|
4天前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
|
2月前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
86 7
|
3月前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略

推荐镜像

更多