1.单块应用时代

早期的应用我们是以单块实现的,web浏览器与单块web应用中间是通过HTML和HTTP的形式交互

2.单块+API时代

自从无线应用兴起,要想使Web应用和无线应用进行通信,需暴露REST API接口,这样无线应用就以XML/JSON的方式来和后端的Web应用交互

3.微服务时代?

随着企业业务和团队的进一步扩大,企业服务会进入一个解耦拆分的阶段,会演变出目前最主流的微服务形态,这时候会引来一个前端与后端耦合的问题,两者会出现一个网状结构,只要一边有变化可能会影响另一边的变化,例如内部的微服务项目很多时,需要更多的域名来暴露这些应用,对应的前端也会耦合这些端口,随着微服务持续增加的话,这种架构显然难以扩展,会直接影响企业服务的应用

4.微服务+网关

网关的引入可以使前端与后端进行解耦,使得两边不直接依赖,可以相互独立变化,网关的作用主要是七层反向代理,当前端进行访问时,Gateway会根据请求的内容进行路由转发至后端的微服务,它属于后端微服务的一个统一入口,还可支持安全认证,日志监控等功能

5.公有云K8s通过LB暴露服务

在阿里云K8S环境中,为了将Petclinic微服务暴露在公网,我们在发布时Service时需要指定它的Type为LoadBalancer,还需额外购买阿里云提供的LB进行配置暴露服务,使用户能够访问

6.如何暴露多个服务?

在公有云上暴露一个服务需申请一个LB,如果要暴露3个服务呢?方案一需要申请3个LB,从成本角度来将,显然是不合适不可扩展的。

7.K8s Ingress

为了解决以上问题,K8S引入了Ingress组件,它和网关类似,本身是七层反向代理,引入Ingress之后,运维人员只需购买一个LB就可以将多个服务暴露出去使用户访问,实现的原理就是依靠Ingress来实现转发,新增服务要暴露的话,只需在Ingress上添加对应的路由规则即可;Ingress作为K8S集群流量接入的入口,所以它也可实现安全认证,流量治理等功能,Ingress它是K8S中的一种服务(Service)

8.回顾Petclinic微服务的阿里云部署

阿里云这套微服务架构,当时没有引入Ingress组件,是怎么做到只需一个LB的呢?用的是Gateway,它等价于Ingress组件,核心作用都是反向路由,内部的微服务应用通过Gateway可以统一暴露出去。

9.总结

(1)微服务网关 = K8s Ingress,本质:都是七层反向代理,微服务集中出入口,可以降低暴露多个微服务的复杂性和成本
(2)核心功能:反向路由
(3)高级功能:安全认证,日志监控,流量治理等

微服务网关 vs K8s Ingress相关推荐

  1. 897-了解微服务网关

    一.前言 随着微服务的兴起,基于其业务耦合性低.负载能力强.服务边界清晰等优点,大家纷纷使用微服务架构来实现新系统或进行老系统的改造.微服务在带来诸多好处的同时,也有一些问题需要解决,比如:如何做到有 ...

  2. 微服务网关和服务注册中心

    在前面谈微服务架构的时候,已经有多篇文章都谈到过微服务网关,由于微服务网关本身也是提供代理,路由,安全,日志,负载均衡,流量控制等能力,因此我谈的最多的就是可以将微服务网关理解为轻量的ESB服务总线, ...

  3. 容器云平台、灰度发布系统、微服务网关的高可用实践

    http://www.sohu.com/a/227223771_355140 系统高可用是互联网企业系统架构的基础要求之一,一个好的高可用架构可以以最低的成本.更灵活的方式,满足企业用户需求.相反,糟 ...

  4. 你的微服务网关还只在用负载均衡吗?

    随着业务场景日益复杂,我们经常采用微服务架构来进行松耦合,但由于系统和服务的细分,导致系统结构变得非常复杂,微服务网关作为分散在各个业务系统微服务的API聚合点和统一接入点,需要担负整个流量管控的职责 ...

  5. 微服务网关Zuul迁移到Spring Cloud Gateway

    https://juejin.im/post/5ba8daa56fb9a05cfe486ebf 背景 在之前的文章中,我们介绍过微服务网关Spring Cloud Netflix Zuul,前段时间有 ...

  6. 个推微服务网关架构实践

    作者:个推应用平台基础架构高级研发工程师 阿飞 在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求.因此,在客 ...

  7. Bumblebee微服务网关之并发限制

    对于服务应用来说支持的并发越高越好,但很多时候资源有限,超负载的并发则会给整体应用带来更大的危险性(更何况有些并发来源是恶意的).作为微服务网关应该具有一定的挡洪作用,这样可以一定程度保障后台逻辑服务 ...

  8. Bumblebee微服务网关之负载策略

    作为一个微服务网关,提供不同负载策略配置是一项非常重要的主要功能:在这方向Bumblebee提供了非常好的支持.Bumblebee可以针对不同路径制定各自的负载策略,更重要的是这些调整都可以在网关运行 ...

  9. Bumblebee微服务网关之请求统一验证

    对于微服务网关来说,统一请求验证是一个比较重要和常用的功能,通过网关验证后台服务就无须关注请求验证:对于多语言平台的服务而言制定验证方式和变更验证配置都是一件比较繁琐和工作量大的事情.Bumblebe ...

  10. 微服务网关Ocelot

    微服务网关是微服务架构中的核心组件,它是客户端请求的门户,它是调用具体服务端的桥梁.下面我们将使用开源项目Ocelot(https://github.com/geffzhang/Ocelot)搭建一款 ...

最新文章

  1. bzoj [Scoi2016]美味
  2. VLC通信仿真中数字脉冲间隔调制(DPIM)实例
  3. Chrome 控制台console的用法
  4. http://blog.csdn.net/myan/article/details/1906
  5. 华为ap配置_13、了解下POE交换机以及AP供电几种方式
  6. 红警 1 游戏开源,代码非常规范,网友:秀色可餐
  7. 华为此时就把 5G 芯片用在手机上,垒起了多高的竞争壁垒?
  8. Linux 命令(138)—— nc 命令
  9. 使用与不使用@RequestBody注解的区别
  10. GRE tunnel ×××
  11. asdm java设置,[小技巧] 在CISCO ASA 5505防火墙上开启ASDM图形界面
  12. 计算机同步增长率公式,行测资料分析增长率的计算技巧
  13. 《Linux命令行与shell脚本编程大全(第3版)》读书笔记
  14. EDM模板编写踩坑指南(持续更新中)
  15. 微信内置浏览器清除缓存
  16. 头条号发视频为什么没有收益,在头条号发搞笑视频收益大吗
  17. 10个低成本真实兼职,在家就能干的兼职有那些?
  18. mysql 锁设置_MySQL锁之二:锁相关的配置参数
  19. MATLAB新手简明使用教程(六)——使用matlab求解定积分和不定积分的问题——新手来看,保证看懂。
  20. 朱晔的互联网架构实践心得S2E1:业务代码究竟难不难写? | 掘金年度征文

热门文章

  1. 计算机专业电子技术基础教学,计算机专业“电子技术基础”教学上的难题及对策.doc...
  2. CAD如何直接打印,不出现打印对话框?
  3. Ubuntu 中文输入法 fcitx框架和搜狗输入法的配置安装
  4. 免费好用的 Apple 工具(Windows 适用)
  5. VS2010-MFC(Ribbon界面开发:为Ribbon Bar添加控件)
  6. 超详细使用VirtualBox安装虚拟机
  7. 安装之后如何激活冰点还原软件?
  8. 2021年全国火车站点shp数据包含高铁站货运站arcgis字段属性有名称(+预览图)
  9. excel教程自学网_企业Office办公软件自学视频教程word/excel/ppt 2003 2013 2016全套
  10. vue省市区遍历数据