IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 我们重写了七层流量代理BFE的路由转发机制 -> 正文阅读

[移动开发]我们重写了七层流量代理BFE的路由转发机制

BFE路由转发模型如下图所示。

f5e29e0e09e4d27064daff22df0d6a7c.png

以http请求为例,当请求到达BFE时,BFE首先根据请求域名确定租户(哪个业务线),再根据请求的路径确定集群(服务/微服务),然后确定子集群(机房),最后负载均衡选择实例(服务进程)。

那么我们为什么要重写这套路由转发机制?

BFE在路由到集群以及负载均衡选择实例上,与我们接触的网关很类似,在做网关时,我们最头疼的就是配置一堆路由规则。在七层流量代理上,由于多租户的存在,我们也需要配置一堆规则。

为了解决繁琐的配置问题,以及兼容历史遗留问题,我们重写了BFE的路由转发机制,让服务主动的,按“/租户/服务/机房/实例/接口”的格式注册到注册中心,BFE从注册中心读取和监听服务注册。要实现这一点,需要业务方使用我们提供的框架开发。

486c275d90625c78ca4151985173f70d.png

当然,这很大程度是由于历史遗留问题决定的。在使用BFE之前,我们公司使用的是自研的七层流量代理,使用自定义的客户端与服务端的通信协议。因此,客户端和服务端都需要依赖七层流量代理提供的SDK开发。

使用BFE后,除兼容旧的逻辑,为实现客户端与后端的rpc调用,提升开发效率,支持多语言(客户端ios与Android、h5使用的开发语言不同)生态,我们提供基于idl通用语言的rpc实现方案。

实现基于注册机制的转发逻辑,有利于实现跨区域流量调度。我们不需要知道哪个业务在哪个大区部署有服务,通过跨区域数据同步即可自动发现就近区域部署的服务,将请求通过专线转发到其它区域的BFE。也称南北路由。

1ce38010b8205d9005a985ad12a5b439.png

在调整路由转发机制后,由于去掉了转发规则的配置,原有限流模块已经不适用,或者说太重,配置起来太繁琐,因此,我们也重写了限流模块,只保留按租户限流和按接口限流,并增加按连接数限流和按握手次数限流。

重写BFE的路由转发机制并非原有实现不好,而是为了兼容原有技术栈,解决繁琐配置问题,实现跨区域流量转发。很多时候,历史包袱并不是说丢弃就丢弃,每个迭代都要考虑兼容问题。

基于百度开源的BFE二次开发,目前为止,我们几乎重写了BFE,只保留BFE的骨干框架。由于要兼容一堆逻辑,BFE也变得越来越重,而这些兼容逻辑,也会是一个长期存在的逻辑。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:59:33  更:2021-10-02 15:00:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:12:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码