钾在人体中起什么作用| 储备是什么意思| 咳嗽有痰吃什么药效果好| 空窗期是什么意思| 高考四百分左右能上什么学校| 坐月子可以吃什么菜| 胃泌素是什么| 孕妇吸氧对胎儿有什么好处| 什么样的普洱茶才是好茶| 为什么一来月经就拉肚子| 臃肿是什么意思| 刻舟求剑的求是什么意思| 心房颤动是什么意思| 刮宫和流产有什么区别| 小拇指发麻是什么原因| 点痣后需要注意什么事项| 玉米芯有什么用途| 为什么晚上睡觉老是做梦| 小腿前侧肌肉叫什么| 相破是什么意思| 叶韵是什么意思| 梦见监狱是什么意思| 禀赋是什么意思| 急性阴道炎是什么引起的| 奥利奥是什么意思| 孙武和孙膑是什么关系| 性激素六项挂什么科| 什么品种的狗最粘人| 心肌梗塞吃什么药| 核磁共振挂什么科| 花斑癣用什么药膏好| 抽筋是什么原因引起的| 想吐是什么原因| 体寒湿气重喝什么茶好| 辩证什么意思| qeelin是什么牌子| 二十四节气分别是什么| 调味茶和茶有什么区别| 免疫固定电泳查什么的| 二氧化钛是什么东西| 706代血浆又叫什么| 三本是什么学历| 师父的老公叫什么| 三伏天什么时候结束| 防晒衣什么品牌好| 为什么老是做噩梦| 什么啤酒度数高| 疱疹性咽峡炎吃什么药最管用| 粗口是什么意思| 南瓜不能和什么同吃| 99年属什么| 碧绿的什么| 命脉是什么意思| 肝火旺盛吃什么食物好| 呼吁是什么意思| 上半身皮肤痒什么原因| 用什么药材泡酒最好| def是什么意思| 低钾会有什么症状| 湿气重去医院挂什么科| 甘油三酯高吃什么药| 贵姓是什么意思| 是什么原因导致肥胖| 易举易泄是什么原因| 胰岛素是什么| 两肺纹理增粗是什么意思| 解约是什么意思| 秋天开什么花| 全脂乳粉是什么| 什么是肺腺癌| other是什么意思| 舍利子到底是什么| 什么是音节什么是音序| 码是什么意思| 克卜勒是什么意思| 窦性心律不齐是什么原因引起的| 西瓜适合什么土壤种植| hill什么意思| 九月24日是什么星座| 什么姿势容易怀孕| 双绿生肖是什么生肖| 梅毒单阳性是什么意思| 朱元璋为什么不杀汤和| 2006年是什么年| 杜甫被人们称为什么| 五行属金什么字最好| 缓刑是什么意思还要坐牢吗| 五指姑娘是什么意思| 多汗是什么原因| 经期吃什么水果好| 虾滑可以做什么菜| 寄托是什么意思| 低压高什么症状| 5年生存率是什么意思| 派大星是什么动物| 早上打喷嚏是什么预兆| 重情重义是什么意思| 紫烟是什么意思| 梦见自己生二胎是什么意思| fsh是什么意思| 诺言背叛诺言是什么歌| 8月15是什么星座| 培根是什么肉做的| 密胺是什么材质| 什么除草剂三年不长草| 膀胱壁增厚毛糙是什么意思| 什么是单克隆抗体| 看到刺猬有什么预兆| 青蒿素是什么| 冰晶是什么东西| 特需号是什么意思| 火命适合佩戴什么首饰| polo villae是什么档次| 梦见被子是什么意思| 菩提树长什么样| 810是什么意思| 为什么会近视| 朱允炆为什么不杀朱棣| 头部神经痛吃什么药好| 狂蜂浪蝶是什么意思| 幽门螺杆菌感染吃什么药| 金钱骨是什么部位| 文书是什么| 嗓子疼吃什么药| 脑供血不足吃什么食物好| 喝什么| 皮肤发烫是什么原因| 且行且珍惜什么意思| 一个山一个鬼念什么| 什么是逆商| 没事在家可以做些什么| 宫颈炎吃什么药效果最好| 94年什么生肖| 群星是什么意思| 双肾尿盐结晶是什么| 禅宗是什么意思| huidr是什么品牌| 才高八斗什么意思| 毛泽东什么时候逝世| crp是什么| 别有洞天是什么生肖| 体检前一天不能吃什么| 肚子痛挂什么科| 黄褐斑内调吃什么药| 青帝是什么意思| 减肥为什么让早上空腹喝咖啡| 今年22岁属什么生肖| 高中生物学什么| 男人射的快是什么原因| 神气活现是什么意思| 肺肿瘤不能吃什么| 可见原始心管搏动是什么意思| hpmc是什么| 蒲公英有什么药效| 优生四项是检查什么| 为什么会得胆囊炎| 什么花什么门的成语| 舍本逐末是什么意思| 肺有问题会出现什么症状| 昙花一现是什么生肖| 去侍庙有什么禁忌| 拉稀是什么原因| BLD医学上是什么意思| 鱼休子是什么| 阴道有豆腐渣用什么药| 什么的星空| 营养师是干什么的| 吸入物变应原筛查是什么| 剁椒鱼头是什么鱼头| 党按照什么的原则选拔干部| 董明珠什么星座| 什么的高楼| 月季花是什么颜色| 什么是调剂| 肚子突然疼是什么原因| 静脉血栓是什么症状| 怨妇是什么意思| 头发软化和拉直有什么区别| 吃桃有什么好处| 什么是膜性肾病| 肝病有什么症状| 什么叫风热感冒| 白带是什么意思| 胃不舒服做什么检查| oem是什么| 血小板压积是什么意思| 33朵玫瑰花代表什么意思| 血沉高是什么意思| psp是什么| 料酒和黄酒有什么区别| 商数是什么意思| 六角龙吃什么食物| 邮箱是什么| 脸上长痘痘去医院挂什么科| 公租房是什么| 什么是丝状疣| 本垒打是什么意思| vain是什么意思| 熟地黄有什么功效| 为什么会水肿| 胎盘有什么用| 猜忌是什么意思| 什么是阳虚什么是阴虚| 肉桂茶适合什么人喝| 起床头疼是什么原因| mm代表什么单位| 经常生闷气会得什么病| 男生为什么会勃起| 治霉菌性阴炎用什么药好得快| 脚背肿是什么原因引起的| 细菌性阴道炎用什么药效果最好| 射手是什么象星座| 平反是什么意思| 吃什么去湿气最快最有效| 头皮脂溢性皮炎用什么药| 打假是什么意思| 清谷天指的是什么| 打马赛克是什么意思| 眼震电图能查什么病| 龟苓膏有什么功效| 大小便失禁是什么原因| 什么是蜘蛛痣| bppv是什么病| 梦见菊花是什么意思啊| 尿素高吃什么药| Ecmo医学上是什么意思| 感冒头晕是什么原因| 子是什么生肖| 回眸一笑百媚生什么意思| 胚胎是什么| 支原体感染是什么意思| 翘嘴鱼是什么鱼| 胃难受吃什么药| 剁椒鱼头是什么菜系| 肛门周围潮湿瘙痒是什么原因| 教师编制是什么意思| 长期便秘是什么原因| 日柱灾煞是什么意思| 95年属什么的| 木加鬼念什么| 口加一笔变成什么字| 什么什么生机| 丁什么丁什么成语| 1969年属鸡是什么命| 为什么会得脑梗| 祛湿吃什么| 执业药师什么时候考试| 冠冕堂皇什么意思| 药物流产吃什么药| 风湿病是什么引起的| 头晕是什么病| 安慰什么意思| 马太效应什么意思| dm医学上是什么意思| 姓贾的男孩取什么名字好| 猫什么时候传入中国| 什么歌最好听| 尿不尽是什么原因| 北方是什么生肖| 血糖偏高可以吃什么水果| 心口疼吃什么药| 承欢膝下是什么意思| 淀粉样变是什么病| 坚贞不渝是什么意思| 百度
网络通信 频道

微服务为什么要用到服务网关?

  服务网关为客户与服务系统之间的交互提供了统一的接口,也是管理请求和响应的中心点,选择一个适合的服务网关,可以有效地简化开发并提高系统的运维与管理效率。

  服务网关 = 路由转发 + 过滤器

  1、路由转发:接收一切外界请求,转发到后端的微服务上去;

  2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。

  为什么需要服务网关

  上述所说的横切功能(以权限校验为例)可以写在三个位置:

  每个服务自己实现一遍

  写到一个公共的服务中,然后其他所有服务都依赖这个服务

  写到服务网关的前置过滤器中,所有请求过来进行权限校验

  第一种,缺点太明显,基本不用;第二种,相较于第一点好很多,代码开发不会冗余,但是有两个缺点:

  由于每个服务引入了这个公共服务,那么相当于在每个服务中都引入了相同的权限校验的代码,使得每个服务的jar包大小无故增加了一些,尤其是对于使用docker镜像进行部署的场景,jar越小越好;

  由于每个服务都引入了这个公共服务,那么我们后续升级这个服务可能就比较困难,而且公共服务的功能越多,升级就越难,而且假设我们改变了公共服务中的权限校验的方式,想让所有的服务都去使用新的权限校验方式,我们就需要将之前所有的服务都重新引包,编译部署。

  而服务网关恰好可以解决这样的问题:

  将权限校验的逻辑写在网关的过滤器中,后端服务不需要关注权限校验的代码,所以服务的jar包中也不会引入权限校验的逻辑,不会增加jar包大小;

  如果想修改权限校验的逻辑,只需要修改网关中的权限校验过滤器即可,而不需要升级所有已存在的微服务。

  所以,需要服务网关!!!

  服务网关技术选型

图片

  引入服务网关后的微服务架构如上,总体包含三部分:服务网关、open-service和service。

  1、总体流程

  服务网关、open-service和service启动时注册到注册中心上去;

  用户请求时直接请求网关,网关做智能路由转发(包括服务发现,负载均衡)到open-service,这其中包含权限校验、监控、限流等操作

  open-service聚合内部service响应,返回给网关,网关再返回给用户

  2、引入网关的注意点

  增加了网关,多了一层转发(原本用户请求直接访问open-service即可),性能会下降一些(但是下降不大,通常,网关机器性能会很好,而且网关与open-service的访问通常是内网访问,速度很快);

  网关的单点问题:在整个网络调用过程中,一定会有一个单点,可能是网关、nginx、dns服务器等。防止网关单点,可以在网关层前边再挂一台nginx,nginx的性能极高,基本不会挂,这样之后,网关服务就可以不断的添加机器。但是这样一个请求就转发了两次,所以最好的方式是网关单点服务部署在一台牛逼的机器上(通过压测来估算机器的配置),而且nginx与zuul的性能比较,根据国外的一个哥们儿做的实验来看,其实相差不大,zuul是netflix开源的一个用来做网关的开源框架;

  网关要尽量轻。

  3、网关基本功能

  服务网关作为客户端和服务端的中间桥梁,为微服务系统提供统一的管理机制:除了基础的请求分发、API 管理和条件路由等功能,还包括身份验证、监控报警、调用链追踪、负载均衡、限流隔离和熔断降级。

  身份认证:下图表示的是微服务联合 服务网关如何进行身份认证的,由图可见所有请求都通过网关,从而有效地隐藏了微服务。

图片

  监控报警/调用链追踪:API 作为客户端和服务端的中间桥梁,是微服务监控的最好载体,服务网关监控功能的主要职责是及时发现网关以及后端服务器的连接异常,在 API 的监控平台上面用户可以随时查看日志信息,监控信息,调用链等等,并且主机发生的任何异常都会自动报警到控制台。有些网关甚至可以做到给客户端和服务端双向报警。

图片

  限流隔离/熔断降级:随着互联网业务规模的增加,系统的并发度增高,多个服务之间相互调用链路,一条核心链路往往可能调用十个服务。如果在链路中,某个服务的 rt(响应时间)急剧上升,上游服务不断请求,造成恶性循环,上游等待结果线程数越多,使得更上游服务阻塞最终整条链路无法使用,从而导致服务雪崩,所以对入口流量进行整治管理是很有必要的。下图表示微服务系统是如何结合 服务网关进行限流隔离和熔断降级的。

图片图片

  4、主流网关对比

  在微服务领域,有许多开源网关实现,有 NGINX、Kong、Apache APISIX 和 Envoy 等,Java 技术栈的有 Netfilx Zuul、Spring Cloud Gateway、Soul 等。

  或许你会问“有了 NGINX 和 Kong,为什么还需要 Apache APISIX ?” ,下面做个简单对比。

  总结

  随着互联网的发展,互联网企业的业务也在不断的飞速发展,进而导致系统的架构也在不断的发生着变化,微服务架构已经在众多公司得到广泛应用。随着微服务的数据越来越多,API 的数量也越来越多,对于大流量的治理,选择一个优秀的服务网关是至关重要的。

  本文列举了常见网关,并进行对比,列出各自的优缺点,如果你正在做服务网关的技术选型,或者你的微服务系统出现了性能问题,再或者你想搭建一个高效稳定的微服务系统,希望本文可以带给你一定的启发。

0
相关文章