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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 带你读《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

相关文章
|
2月前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
|
2月前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
28 0
|
3月前
|
Cloud Native Dubbo 应用服务中间件
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
|
3月前
|
Oracle Java 关系型数据库
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
29 1
|
3月前
|
Dubbo 应用服务中间件 Apache
恭喜 Apache Dubbo 和 Nacos 荣获开放原子“2023年度生态开源项目”
恭喜 Apache Dubbo 和 Nacos 荣获开放原子“2023年度生态开源项目”
|
4月前
|
Java 应用服务中间件 Spring
Tomcat【部署 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
Tomcat【部署 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
63 0
|
4月前
|
负载均衡 Dubbo 应用服务中间件
阿里微服务架构到底多牛逼:深入解析Apache Dubbo与实战
在Apache Dubbo (以下简称Dubbo)重新开源之前,Dubbo已经被很多公司广泛用于生产环境并获得了良好的反馈,很多公司内部也会建立私有分支自己维护,其中Dubbox 就是基于Dubbo分支进行扩展并二次维护的。重新开源后,社区维护的Dubbo版本进行了大量“bug fix" .和特性支持,收到了大量Dubbo用户的支持和参与。编写本书的想法是在开源后提出来的,因此本书取名《深入理解Apache Dubbo与实战》。
|
4月前
|
Dubbo 应用服务中间件 Apache
电子好书发您分享《Apache Dubbo 微服务开发从入门到精通》
电子好书发您分享《Apache Dubbo 微服务开发从入门到精通》
139 1
|
4月前
|
Cloud Native 应用服务中间件 Apache
电子好书分享《Apache Tomcat 的云原生演进》
电子好书分享《Apache Tomcat 的云原生演进》
31 1
|
1月前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1416 1
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会

热门文章

最新文章

  • 1
    Serverless 应用引擎产品使用之在函数计算中,数据库访问失败如何解决
    5
  • 2
    Serverless 应用引擎产品使用之在阿里云函数计算中发现没有NAC(Native Application Component)选项,且无法自己上传MOD(模块)如何解决
    6
  • 3
    Serverless 应用引擎操作报错合集之在阿里云函数计算中,调用了FC函数但是没有执行或者报错,并且在FC函数后台也看不到调用记录日志如何解决
    7
  • 4
    Serverless 应用引擎操作报错合集之在阿里函数计算中,sd部署启动报错CAExited 报错信息“operation not permitted”如何解决
    5
  • 5
    Serverless 应用引擎操作报错合集之在阿里函数计算中,SD Controlnet Depth 运行过程中出现错误“urllib3 v2.0 only supports OpenSSL 1.1.1+”如何解决
    7
  • 6
    Serverless 应用引擎操作报错合集之在阿里云函数计算中,laravel zip包使用示例的start.sh脚本启动时出现错误代码如何解决
    7
  • 7
    Serverless 应用引擎操作报错合集之在阿里云函数计算中,服务器调用FC函数时出现 "[Errno -3] Temporary failure in name resolution)" 错误如何解决
    5
  • 8
    Serverless 应用引擎操作报错合集之在Serverless 应用引擎中,部署过程中遇到错误代码如何解决
    9
  • 9
    Serverless 应用引擎操作报错合集之在 Serverless 应用引擎中,遇到“没法通过 head 传递灰度标识”如何解决
    7
  • 10
    Serverless 应用引擎操作报错合集之在阿里函数计算中,函数执行超时,报错Function time out after如何解决
    12
  • 推荐镜像

    更多