百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

分布式系统进阶二十三之流量网关和业务网关设计

off999 2025-04-08 17:17 27 浏览 0 评论

前言

由于项目在开发初期为了赶进度,快速上线,没有很好的规划和设计,导致现在随着需求的变化和功能的扩展,代码逐渐变得非常复杂和难以维护。为了保持代码的质量和可读性,我们需要进行代码重构。代码重构是一种对现有代码进行重新组织和优化的过程,旨在提高代码的质量和可读性,同时不改变其功能。代码重构的目标是使代码更加清晰、易于理解和维护,以便在未来的开发中更加高效地进行修改和扩展。

这里重构我们采用了通用的微服务架构模型,如图:

架构思考

在项目开发中,通常我们由一个域名绑定一个或多个ip,服务到我们系统部署的门户网关[流量网关],这类型的网关负责对整个服务集群的负载均衡功能和统一入口,毕竟再复杂的系统对用户来说应该都只有一个统一访问路径,这样的统一访问路径通常对用户来说是一个域名。对于一个域名而言它的功能就是映射到某个ip,而这个ip再转发给我们的内部服务。

系统重构

依据上面的架构思考和公司的主要业务线,我们把系统拆分为三大块,阅读应用,短视频应用和交易应用,架构如图:

阅读应用,短视频应用和交易应用 差距很大,所以比较合适的方案就是独立部署,开发各自的业务网关 和 聚合服务,比如:今日头条,抖音,抖音商城也是采用独立部署的。

流量网关

流量网关,顾名思义就是控制流量进入集群的网关,有很多工作需要在这一步做,对于一个服务集群,势必有很多非法的请求或者无效的请求,这时候要将请求拒之门外,降低集群的流量压力。

定义全局性的、跟具体的后端业务应用和服务完全无关的策略网关就是上图所示的架构模型——流量网关。流量网关通常只专注于全局的Api管理策略,比如全局流量监控、日志记录、全局限流、黑白名单控制、接入请求到业务系统的负载均衡等,有点类似防火墙。这里我们采用 Nginx 做流量网关。

业务网关

当一个单体应用被拆分成许许多多的微服务应用后,也带来了一些问题。一些与业务非强相关的功能,比如权限控制、日志输出、数据加密、熔断限流等,每个微服务应用都需要,因此存在着大量重复的代码实现。而且由于系统的迭代、人员的更替,各个微服务中这些功能的实现细节出现了较大的差异,导致维护成本变高。另一方面,原先单体应用下非常容易做的接口管理,在服务拆分后没有了一个集中管理的地方,无法统计已存在哪些接口、接口定义是什么、运行状态如何。

网关就是为了解决上述问题。作为微服务体系中的核心基础设施,一般需要具备接口管理、协议适配、熔断限流、安全防护等功能,各种开源的网关产品(比如 Spring Cloud Gateway)都提供了优秀高可扩展性的架构、可以很方便的实现我们需要的一些功能、比如鉴权、日志监控、熔断限流等。

什么是BFF?

BFF:Backends For Frontends(服务于前端的后端)。

BFF是一种Web架构,微服务设计系列丛书的作者 Sam Newman曾在他的博客中写了一篇相关文章《Pattern: Backends For Frontends》。

BFF(Backends For Frontends)设计是一种Web架构,旨在通过为前端应用程序提供单独的API网关来优化用户体验和性能。

BFF架构设计的核心思想是为前端应用程序提供一个专门的API网关,该网关专门服务于前端,处理路由、聚合操作等,从而使前端应用程序能够更加专注于用户体验和交互逻辑。这种架构模式有助于提高性能和用户体验,降低前后端的耦合度,简化前端开发,并提高系统的安全性。BFF适用于各种规模的应用程序,尤其适用于需要处理大量用户请求、提供高性能和高可用性的场景。

相关推荐

autocad2012产品密钥(cad2012的产品密钥是什么)

CAD2012产品密钥和序列号序列号:400-45454545钥匙:651D1序列号:356-72378422钥匙:001D1序列号:400-45454545钥匙:001D1序列号:666-6969...

软件误删怎么找回来(软件删掉怎么找回)
  • 软件误删怎么找回来(软件删掉怎么找回)
  • 软件误删怎么找回来(软件删掉怎么找回)
  • 软件误删怎么找回来(软件删掉怎么找回)
  • 软件误删怎么找回来(软件删掉怎么找回)
桌面语言栏不见了怎么办(桌面语言栏不见了怎么办呢)

如果您的语言栏在某个应用程序或操作系统中消失了,您可以尝试以下方法来恢复它。首先,您可以检查操作系统的设置,查看语言和区域选项是否正确设置。如果设置正确,但语言栏仍然不可见,您可以尝试重新启动计算机,...

怎么装win98(怎么装win7系统教程)

如何安装windows98  一、具体安装步骤  备份好重要文件之后,就可以安装windows98了。  第一步:启动安装程序。  用户如果原来已安装了windows95/97/98,现在拟对其进行升...

u盘写保护无法格式化怎么解除
  • u盘写保护无法格式化怎么解除
  • u盘写保护无法格式化怎么解除
  • u盘写保护无法格式化怎么解除
  • u盘写保护无法格式化怎么解除
app下载官网(欧歌影视app下载官网)

需要先进入佳能官网的下载页面,选择手机APP下载选项,根据手机操作系统的不同选择相应的下载链接即可成功下载佳能手机APP。下载链接通常会在网站的首页或者是产品页面上提供。总的来说,下载佳能手机APP非...

qq空间相册密码怎么破
  • qq空间相册密码怎么破
  • qq空间相册密码怎么破
  • qq空间相册密码怎么破
  • qq空间相册密码怎么破
互盾手机数据恢复软件下载(互盾数据恢复软件可以免费使用一次吗)

要的。手机如果可以连电脑当做u盘识别就可以用恢复软件。比如用安易。至于能不能出现盘符,可以网上查一下你这个手机型号可不可以,或者问问手机售后。1、安装互盾安卓恢复大师,运行软件后,将手机连接到电脑上...

电脑wifi突然变成红叉搜不到

1、WiFi功能未开启:很多时候出现WiFi红色叉叉图标,可能就是无线WiFi的开关或者按键没有开启导致的。一般的笔记本键盘上面都有一个F5开启WiFi的功能,有的需要结合Fn功能键一起按。每个品牌的...

正版win10系统一键重装官网(一键装机win10正版系统)

1、下载小白一键重装软件,打开软件后选择我们要安装的系统。?2、接着小白给出我们一些常用的电脑软件,大家可根据自己需要进行下载。?3、然后就是我们就耐心的等待系统镜像的下载吧。?4、部署环境完成后我们...

windows8系统自己怎么装(如何安装windows 8)

要在线安装Windows8系统,您可以按照以下步骤操作:1.准备安装媒体:在您的计算机上打开一个现代的网络浏览器(如Chrome、Firefox或Edge),然后前往Microsoft...

win10登录选项没有密码设置(win10没有登陆密码框)

是该电脑没设置密码,所以登录时看不到密码选项。电脑开机后,要设置密码,设置完成后,重新启动电脑,就会出现密码登录框,输入密码并正确后,电脑才能正常进入系统。1、首先进入安全模式;进入安全模式教程:2、...

小白刷机官网(小白刷机助手)

平板的话,和处理器有关,如果处理器只支持win8是不能刷win10的。

windows关闭端口命令(windows 关端口)

1、点击控制面板。2、进入控制面板,然后点击系统和安全。3、进入系统和安全,点击Windows防火墙。4、进入Windows防火墙,点击左侧的高级设置。5、进入防火墙高级设置,点击入站规则。6、点击入...

360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)

取消回复欢迎 发表评论: