绍兴有什么大学| 什么叫早教| 胆结石吃什么可以化掉结石| 骨折一个月能恢复到什么程度| 晚上五点是什么时辰| 炫的意思是什么| 哈怂是什么意思| 23数字代表什么意思| H 什么意思| 徐长卿是什么药| 什么东西最伤肾| 高密度脂蛋白胆固醇偏低什么意思| 更年期燥热吃什么食物| 冰箱底部漏水是什么原因| asp是什么氨基酸| sos代表什么| 天上的星星为什么会发光| 笑靥是什么意思| 血脂高吃什么药最好| 蛀虫指什么生肖| 火车和高铁有什么区别| 尿酸高适合喝什么茶| 射手后面的星座是什么| 胆的作用和功能是什么| 系统b超主要检查什么| 血管瘤是什么东西| 脸麻是什么原因引起的| 例假发黑是什么原因| 女人外阴瘙痒用什么药| 什么的生长| 喉咙细菌感染吃什么药| 脊柱侧弯拍什么片子| 二级医院是什么医院| 似曾相识是什么意思| 下联是什么| 掌心有痣代表什么| 什么叫精神病| 一厢情愿指什么生肖| 淼读什么字| 放疗后吃什么恢复的快| 洋辣子蛰了用什么药| 扁平疣长什么样| 血糖高吃什么能降糖| 什么是有机磷农药| 7.13是什么日子| 菌丝是什么| 指甲变形是什么原因| 湿气太重吃什么药最好| 为什么种牙那么贵| 脚腕肿是什么原因| 胸是什么| 什么颜色加什么颜色是黑色| 染色体是什么意思| 受益匪浅是什么意思| 多吃蓝莓有什么好处| 贫血用什么药补血最快| 骄阳似火是什么意思| 肠胃不好可以吃什么水果| 吃什么降血脂和胆固醇| 美工是做什么的| 包煎是什么意思| 为什么叫马路| 恭喜什么意思| 胃溃疡吃什么食物| 为什么会闰月| 孕妇梦见下雨是什么意思| 橙字五行属什么| 习字五行属什么| 冰爽丝是什么面料| 厚颜无耻是什么生肖| 老匹夫是什么意思| 什么是静脉血栓| 吃什么大补| 芈月和嬴政什么关系| 贡高我慢是什么意思| 什么是高血压| 土克什么| 红颜知己的意思是什么| 吃完避孕药不能吃什么东西| 脸部肌肉跳动是什么原因| ml代表什么单位| 上马是什么意思| 眼珠子发黄是什么原因| 金牛男喜欢什么样的女生| ck属于什么档次的品牌| 什么的云| 好巴适是什么意思| 睾酮高有什么影响| 淋巴门消失是什么意思| 人参和什么泡酒能壮阳| 黄花梨树长什么样| 眼皮肿痛什么原因| 核医学科是检查什么的| 颈椎生理曲度变直是什么意思| 窦骁的父母是干什么的| 好久不见是什么意思| 车水马龙什么意思| 脸上为什么长斑| 婴儿老打嗝是什么原因| 吃空饷什么意思| 鳞状上皮内低度病变是什么意思| 祝福是什么意思| 梦见自己大笑是什么意思| 胡萝卜不能和什么一起吃| 女性血常规都检查什么| 受热了有什么症状| 吉人自有天相什么意思| 什么是全麦面粉| 什么地哭| 月经期间吃什么水果好| 羊肉馅饺子放什么菜| 相伴是什么意思| 睡觉打呼噜是什么病| 什么叫管状腺瘤| 阴囊潮湿是什么症状| 预防肺结核吃什么药| kailas是什么牌子| 糖耐什么时候做| 夏天为什么不能喝红茶| cpi是什么意思| 血糖高可以吃什么| 台湾以前叫什么名字| 丫丫的老公叫什么| 小孩手足口病吃什么食物好| 省委巡视组组长什么级别| 什么时候开放二胎| 滴虫性阴道炎是什么原因引起的| 阁楼是什么意思| 八月份是什么季节| 盗汗是什么| 蚊香对人体有什么危害| 儿童尿路感染吃什么药| 10月12是什么星座| 国士无双是什么意思| 发泡实验阳性说明什么| 滋阴补肾是什么意思| 成家是什么意思| 起湿疹是什么原因造成的| 脑梗吃什么水果好| AFP医学上是什么意思| 栀子泡水喝有什么功效| 血压高应该吃什么食物| 异国他乡的异是什么意思| 双生痣是什么意思| 太子是什么意思| 大美女是什么意思| 吃什么东西增强免疫力| 妇炎康片主要治什么妇科病| 怀孕了想打掉吃什么药| 手发抖是什么原因引起的年轻人| 鸩是什么意思| 真菌怕什么消毒液| 愚痴是什么意思| 苗侨伟为什么叫三哥| 幽门螺旋杆菌阳性什么症状| 蚂蚁代表什么风水| 厕所里应该摆什么花| 什么东西有头无脚| s代表什么意思| 长脚气是什么原因引起的| 大马士革是什么意思| 八月是什么星座| 失信是什么意思| 火车上不能带什么| 女性查hpv挂什么科| gg是什么牌子的包包| 吹胡子瞪眼是什么意思| 舌苔白腻吃什么药| 搞基是什么意思| 伤口愈合慢是什么原因| 盘核桃有什么好处| 为什么兔子的眼睛是红色的| 前列腺增大伴钙化是什么意思| 小儿积食吃什么药| 西红柿生吃有什么好处| 枫叶什么颜色| 玉米芯有什么用途| 欣五行属什么| ast是什么意思| 独在异乡为异客的异是什么意思| 乌龟吃什么蔬菜| 乳头有点痛什么原因| 人中之龙是什么意思| 什么是血癌| 车前草治什么病| 天葵是什么| 女性睾酮高意味着什么| 绅士是什么意思| 手淫过度有什么症状| 三点水一个兆读什么| 胃阴虚吃什么药| 3.30是什么星座| 智障什么意思| 什么样的鲜花| 双氧水是什么| b是什么牌子的衣服| 香瓜不能和什么一起吃| 美女是指什么生肖| 早上5点是什么时辰| 福泽深厚什么意思| 受贿是什么意思| 空调数显是什么意思| 养尊处优什么意思| 秦始皇为什么要焚书坑儒| 什么立雪| 敌敌畏中毒用什么洗胃| 忌诸事不宜是什么意思| 光脚走路有什么好处| 早晨五点是什么时辰| 宫腔积液和盆腔积液有什么区别| 利可君片是治什么病| 抽筋什么原因| 什么是流程| emba是什么| 炒菜用什么油好吃又健康| 血糖高吃什么降血糖| 副书记是什么级别| 蚂蚱吃什么| 康桑密达是什么意思| 什么手机有红外线功能| 掉发挂什么科| 什么的朝霞| 胰腺炎为什么不能同房| 如果你是什么就什么造句| 口五行属什么| 啾啾是什么意思| 7月8号什么星座| 拔牙之后吃什么消炎药| 镜架什么材质好| 计划生育什么时候开始的| 导管室是干什么的| 祝著节是什么时候| 五台山在什么地方| 淘宝和天猫有什么区别| 细菌性阴道炎用什么药好| 早谢是什么症状| 细胞学检查是什么| 玄学什么意思| 打完耳洞要注意什么| 哈密瓜为什么会苦| 呕什么意思| 肺栓塞的主要症状是什么| 胡萝卜不能和什么一起吃| 什么是节气| 慢慢张开你的眼睛是什么歌的歌词| 玉皇大帝叫什么名字| bape是什么品牌| 知柏地黄丸主治什么| 上海居住证积分有什么用| 圣诞节送什么好| 钯金是什么金| 肠粘连是什么原因引起| 露营需要准备什么东西| 螃蟹是什么季节吃的| 饭后胃胀是什么原因导致的| 病入膏肓什么意思| 什么是脂蛋白a| 尿酸吃什么药最有效果| b族维生素什么时候吃效果最好| 内裤用什么洗比较好| 吐白沫是什么原因| 漪字五行属什么| 夏令时是什么| 嘴巴苦什么原因| 百度

梦见数字是什么意思

百度 即使像原河北省委书记、人大主任程维高那样严重违法乱纪,其先后两任秘书吴庆五、李真均在他的纵容包庇下成为巨贪被分别判为死缓、死刑,而他自己虽然被开除了党籍,撤销了正省级待遇,也不过是降了两级,最终以正厅级官员的待遇安享晚年。

在《BFE和Nginx有什么差异?转发模型的对比》中,对BFE的转发模型进行了详细的说明。

在BFE转发的过程中,“转发表”是一个非常重要的组件。在BFE中为每个租户维护一张独立的“转发表”,在转发表中包含多条顺序执行的转发规则。

在2015年后,BFE转发表的设计没有做过大的修改,除了增加一些“条件原语”(什么是“条件原语”,见 BFE开源项目帮助文档 中的说明)。今年,我们对转发表做了一个较大的升级。

1. 转发表升级的背景

之前BFE转发表的优势是:
(1) 转发表在多个租户间相互独立,降低了转发表的复杂性和维护成本
(2) 基于BFE特有的条件原语和条件表达式,可以描述非常复杂的转发条件
(3) 在转发表内,转发规则的顺序执行,非常容易控制

但BFE的转发表也有一个缺陷,就是无法支持较大规模的转发表。顺序执行的算法复杂度为O(N),当转发表中规则的数量达到一定规模(上百条),会观察到性能有明显的下降。

这个问题在设计之初就是知道的,但是因为之前的使用场景中一个租户内转发规则的数量都比较少,这方面的问题并不突出。今年在某个使用场景中,单个租户的转发规则数量达到了几百条、甚至上千条,性能下降的现象比较明显,这就给转发表的优化升级价创造了契机。

2. 转发表的新方案

在升级后,BFE每个租户的转发表包含2部分:
(1) 基础规则表:可使用域名(Host)和路径(Path)作为匹配条件。支持最长匹配原则。
(2) 高级规则表:支持使用请求中的多种信息做匹配。支持顺序匹配。在高级规则表中可以设置默认规则。

和原方案相比,BFE原来的转发表成为“高级规则表”,继续保持原来机制描述能力强、执行顺序控制能力强的优势;新增的“基础规则表”,使用树形查找,匹配速度快,可以支持较大数量(几千甚至上万)转发规则的快速查找。

根据实测,在单租户内规则规模为3000条(这些规则只使用域名和路径作为匹配条件)的情况下,使用基础规则表比原来的方案性能提升了5倍。

下面重点介绍引入基础规则表后的变化。关于高级规则表的情况,请大家参考BFE开源项目中原有的资料。

3. 转发表内的优先级

在基础规则表和高级规则表之间有明确的优先级。BFE会按照基础规则表、高级规则表的顺序来查找,以确定目标集群。在基础规则表中,也可以将某条规则的目标集群设置为“ADVANCED_MODE”(高级模式)。如果在基础规则表中匹配到这条规则,则转至高级规则表进一步匹配。

详细的匹配顺序见下图。

image.png

4. 基础规则表

基础规则表由多条“基础规则”组成。

  • 基础规则的匹配条件包括域名(host)和路径(path)两个部分。
  • 目的集群通过集群名称来指定,也可以设置为“ADVANCED_MODE”转至高级规则表继续匹配。
  • 多条基础规则之间没有前后顺序关系,而是基于精确优先的原则。

基础规则表的详细匹配规则,见BFE开源项目文档中“集群间分流”中的说明。

下面是基础规则的表的一个例子,用于帮助大家理解基础规则表的匹配过程。
有四条基础规则,分别为:

  • 规则1:host条件:*.test1.com,path条件:空值,目标集群:StaticCluster
  • 规则2:host条件:*.b.test1.com,path条件:/interface/* ,目标集群:PhpCluster
  • 规则3:host条件:*.b.test1.com, path条件:/*, 目标集群:StaticCluster
  • 规则4:host条件:www.test1.com, path条件:/interface/d, 目标集群:PhpCluster

收到一个请求,请求URL为vip.b.test1.com/interface/d,匹配的顺序如下:

    1. 首先对host(vip.b.test1.com)进行匹配:

      • 1.1 对host做精确匹配,未匹配成功
      • 1.2 对host做通配符匹配,发现请求的host(vip.b.test1.com)可以满足规则2和规则3的host条件。
    1. 继续对path(/interface/d)进行匹配:

      • 2.1 对path做精确匹配,未匹配成功
      • 2.2 对path做前缀匹配,发现请求的path(/interface/d)可以满足规则2和规则3的path条件。根据最长匹配原则,匹配到从左开始有最多路径元素的那条规则,即规则2。

匹配结束,在基础规则表中命中规则2。根据规则2的设置,将请求转发到集群PhpCluster。

5. 一个例子

下面举一个例子,综合使用了基础规则表和高级规则表的能力。

产品线demo,包含多种服务集群:Demo-A, Demo-B, Demo-C, Demo-D,Demo-E。

期望的转发逻辑条件如下:

  • 对于host为www.a.com,path为"/a/*" (除了"/a/b")的请求,转发至Demo-A集群
  • 对于host为www.a.com,path为"/a/b"的请求,转发至Demo-B集群
  • 对于其他host为*.a.com的请求,转发至Demo-C集群
  • 对于host为www.c.com的请求,转发至Demo-D集群
  • 针对Demo-D集群,另外开启了一个灰度集群Demo-D1。如果cookie中包含deviceid,且这个cookie的值以“x”开头,则转发至Demo-D1
  • 其它请求,都发往Demo-E

对应以上要求,基础规则表的配置为:

host条件path条件目标集群
www.a.com/a/*Demo-A
www.a.com/a/bDemo-B
*.a.com*Demo-C
www.c.com*ADVANCED_MODE

在基础规则表中,多条规则之间是无序的。匹配顺序见上面关于基础规则匹配顺序的说明。

针对Demo-D1集群的灰度发布,由于需要使用cookie中的信息,所以使用ADVANCED_MODE将满足条件的请求透传到高级规则表继续处理;在不需要灰度发布的时候,在基础规则表中目标集群可以写为Demo-D。

高级规则表的配置为:

匹配条件目标集群
req_host_in("www.c.com") && req_cookie_value_prefix_in("deviceid", "x", false)Demo-D1
req_host_in("www.c.com")Demo-D
defaultDemo-E

在高级规则表中,多条规则之间是有序的。需要将转发给Demo-D1的规则放在前面。

在高级规则表中包含默认规则,对于没有命中其它规则的请求将被转发到Demo-E。

以上配置信息,对应的配置文件(/conf/server_data_conf/route_rule.conf)如下:

{
    "Version": "1.0",
    "ProductRule": {
        "demo": [
            {
                "Cond": " req_host_in(\"www.c.com\") && req_cookie_value_prefix_in(\"deviceid\", \"x\", false)",
                "ClusterName": "Demo-D1"
            },
            {
                "Cond": " req_host_in(\"www.c.com\")",
                "ClusterName": "Demo-D"
            },
            {
                "Cond": "default_t()",
                "ClusterName": "Demo-E"
            }
        ]
    },
    “BasicRule”: {
        "demo": [
            {
                "Hostname": ["www.a.com”],
                “Path”: [“/a/*”], 
                "ClusterName": "Demo-A"
            },
            {
                "Hostname": ["www.a.com"],
                “Path”: [“/a/b”],
                "ClusterName": "Demo-B"
            },
            {
                "Hostname": ["*.a.com"],
                “Path”: “*”,
                "ClusterName": "Demo-C"
            },
            {
                "Hostname": ["www.c.com"],
                “Path”: “*”,
                "ClusterName": "ADVANCED_MODE"
            }
        ]
    }
}

6. 总结

BFE开源软件已完成对于转发表能力的升级。在升级后,BFE既可以支持以域名和路径作为匹配条件的大量规模规则,也可以继续保持对于转发条件的强大描述机制。基于这个能力,BFE可以适应更广泛的应用场景,满足大家对于七层转发的各种需求。

欢迎关注“BFE开源项目”公众号,获得本项目的更多更新。谢谢!

946134284-6114d6b251211_fix732.png


BFE开源项目
7 声望7 粉丝

BFE定位于“为企业级使用场景而设计的七层负载均衡开源软件”。BFE于2012年由百度开始研发,每天转发超过万亿的请求;2019年对外开源,2020年6月成为中国在网络方向首个被CNCF接受的开源项目。


cpf是什么意思 嗓子总有痰吃什么药 口腔上火是什么原因 减肥用什么好 大连机场叫什么名字
十一月三十是什么星座 咽喉炎吃什么药 冰瓷棉是什么面料 牛排用什么油煎好吃 哺乳期胃疼可以吃什么药
网络诈骗打什么电话 头眩晕看什么科 什么的蹦跳 负荆请罪是什么意思 幽门螺杆菌是什么病
氨气是什么 人生座右铭是什么意思 量词是什么意思 质子泵抑制剂是什么药 成都什么地方好玩
1991年属羊的是什么命hcv9jop1ns0r.cn 做梦梦见棺材和死人是什么意思hcv7jop7ns2r.cn 牙齿脱矿是什么意思hcv8jop7ns0r.cn 唉什么意思hcv9jop0ns6r.cn 嘴巴发甜是什么原因hcv8jop6ns8r.cn
分分钟都妙不可言是什么歌sanhestory.com ecc是检查什么的hcv9jop2ns6r.cn 蒲公英什么功效wuhaiwuya.com 七星伴月是什么意思hcv7jop7ns3r.cn 香片属于什么茶hcv8jop3ns9r.cn
九九重阳节是什么意思hcv8jop3ns7r.cn 天目湖白茶属于什么茶hcv8jop5ns7r.cn 沙眼是什么原因引起的gangsutong.com 摩羯座和什么座最配对hcv9jop6ns2r.cn 小孩过敏吃什么药hcv8jop2ns6r.cn
脾大是怎么回事有什么危害hcv8jop3ns6r.cn 乳房突然疼痛什么原因hcv9jop7ns4r.cn 八婆什么意思hcv8jop5ns0r.cn 晚上睡觉咬牙齿是什么原因hcv9jop0ns9r.cn 意气用事是什么意思hcv8jop1ns6r.cn
百度