一. 背景
软件架构 , 总是在不断的演进中…
把时间退回到二十年之前 , 当时企业级领域研发主要推崇的还是 C/S 模式 , PB、Delphi 这样的开发软件是企业应用开发的主流 。随着时间不断的推移 , 基于浏览器的的 B/S 架构开始渐渐流行了起来 。初期 , Web 开发 ASP 还占据了不少优势 , 但 JSP 的预编译模式让性能有了很大的提升 , 随后基于 JAVA 语言的 J2EE 架构变的越来越流行 。
早期软件架构基本都是单体架构 , 系统之间往往不需要进行交互 , 这也导致数据孤岛和 ETL 工具的发展 。随着企业应用越来多 , 相互的关系也越来密切 。应用之间也迫切需要进行实时交互访问 , 随后基于 XML 的异构系统集成和数据交互技术开始被很多公司采用 , SOA 的概念被提了出来 , web service 逐渐流行起来 。
文章插图
互联网时代 , 很多公司为了适应更加灵活的业务需求 , 基于 HTTP 协议和 Restful 的架构风格及简洁和结构清晰的 JSON 语言成为企业开发的最佳实践 , 在 SOA 架构中 , 企业服务总线技术 ESB 所暴露的集中式架构的劣势让开发者明白基于注册和发现的分布式架构才是解决问题的关键办法 。由此 , 微服务架构逐渐流行起来 。
在《微服务设计》中如何界定一个微服务 , 就是使用松耦合 & 高内聚原则 , 把因相同因素变化的事情聚集在一起 , 把因不同因素变化的事情区隔开来 。
二. 微服务架构特性
微服务 , 其实是一种架构风格…
- 异构
- 隔离
- 扩展
文章插图
- 部署简单
- 灵活
三. 微服务与网关技术
下图是一个典型的微服务架构 , 仅供参考
文章插图
什么是微服务网关
微服务网关是微服务架构中的一个关键的角色 , 用来保护、增强和控制对于微服务的访问 , 微服务网关是一个处于应用程序或服务之前的系统 , 用来管理授权、访问控制和流量限制等 , 这样微服务就会被微服务网关保护起来 , 对所有的调用者透明 。因此 , 隐藏在微服务网关后面的业务系统就可以更加专注于业务本身 。
微服务网关的分类
常见的微服务网关根据使用特性大致被分成流量网关和业务网关 。两种网关分别有不同关注点 , 下面是总结的两种网关类型特性:
文章插图
微服务网关的作用
推荐阅读
- zookeeper运维管理详解
- Go语言实现LeetCode算法:93 还原IP地址
- CSS语法基础
- python中的列表与元组
- 排毒|去毛孔粗大最有效的产品
- 养红龙鱼必看的风水禁忌
- 陶瓷洁具品牌最新排名
- 千屈菜养殖方法 千屈菜养护技巧
- 血鹦鹉的招财风水
- 清明节扫墓的风水讲究和禁忌