dubbo网关演进之路

本文介绍了从基于PHP的模块化架构转向全站Java化的背景下,如何演进Dubbo网关。面临高吞吐、扩展性和稳定性挑战,团队选择了自研Java网关,采用Spring WebFlux实现响应式编程。文中详细讨论了线程池隔离、异步Dubbo调用、嵌入式网关的优化以及在过程中遇到的问题和解决方案,最终实现了一个稳定且高性能的微服务网关。
摘要由CSDN通过智能技术生成

本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。

背景

随着公司业务的飞速发展,基于php的模块化架构难以支持未来业务的发展:

  • php模块化架远远落后于行业主流架构(微服务–>云原生),而php生态的服务治理开源组件匮乏,研发投入过大
  • 杭州php人才匮乏,导致新鲜血液招聘困难
  • 基于php的多进程架构难以支撑电商高并发业务场景

尽管很早我们就做了会员、商品、交易的服务化,但流量入口还是php主站,php实际上仍是一个单体应用,单体应用无需网关。当全站java化之后,单体应用将被拆分为微服务,自然需要一个网关来负责统一流量入口、鉴权、安全防护、业务统一处理等。

在2019年3月,我们发起了代号为诺曼底的全站java化项目,将微服务网关项目命名为airborne101,第101空降师(101st Airborne Division (Air Assault))是美国陆军的一支空中突击部队,创建时是一支空降部队,在二战期间,该师首先参加了诺曼底战役。

难点

简单来说网关就是个web应用,接收转发http请求。它的难点在于需要用少量机器支撑起全站的流量,方便快速地支持业务的发展且足够稳定。总结起来就是如下三点:

  • 高吞吐
  • 扩展性
  • 稳定性

选型

网关技术选型考虑主要考虑两点:

  • 选择
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值