什么是微服务架构 Microservice?
微服务架构目前非常火爆,在架构领域属于当红的明星架构,那么什么是微服务架构?
微服架构是在移动互联网时代崛起的新架构模式。现在架构模式一般称为
Microservice,本身叫微服务。现在的互联网公司,尤其是国内阿里、腾讯、微博、京东、拼多多等,严格来说都是微服务架构。
回顾历史,这么多年架构的发展最具有代表性是淘宝和腾讯,但是腾讯更像 QQ 与微信的架构,后台主要以 C++为主,是典型的分布式架构软件,直播类、社交类的抖音也是一个典型的微服架构。
起步较早的淘宝经历过三大阶段,单体到 SOA,再到微服务。微服务架构是 2000年到 2010 年之间非常火爆的架构,尤其是一些大型的银行项目。同时,它也是分布式架构非常重要的阶段,是一个代表性的架构。
当年无论是 IBM,还是各大银行的架构师,在技术峰会上基本上讨论的都是 SOA 相关的概念。微服架构作为现阶段比较火爆的架构,是在其他的架构基础上演化而来,诞生于分布式 SOA 的技术架构,淘宝是典型的案例。
淘宝 早期是 单体的 ,后面开 始往分 布式, 转 J a v a 去 O r a c l e ,并 开始用Microservice,包括引入其他的分布式解决方案,逐步构造今天的微服务架构。后续诞生的电商公司,大部分都借鉴了淘宝的架构发展历史经验,例如京东在 2010 年开始转Java,也有类似的微服务框架和解决方案。
为什么国内大公司都是通过 Java 语言来进行编写?
本身编程语言没有优劣之分,对于项目的开发人员、工程师、架构师而言,解决问题,帮公司创造价值,在技术选型上满足公司不同阶段不同业务的需求,这是基本出发点。合格的架构师在技术选型时,需要考虑方案落地性,招人成本,组建团队成本以及后续开发过程中对应的解决方案。
目前来看,微服务架构是 Spring Cloud 出现得最早,参与公司最多,开源社区最活跃最成熟的微服务架构解决方案,并且还在不断的迭代演化。
基于 Java、Mysql、Linux 等,阿里不断摸索分布式架构的解决方案,并把积累的经典解决方案框架都开源供其他公司借鉴学习。
1. 微服务的定义
1)微服务架构模式
2)Microservice
3)Dr. Peter Rodgers2005 Cloud Computing Expo 技术大会上提出概念
4)2007, Netflix 开始向微服务架构师进发
5)并最终开源了自己研发的 Java 微服务框架
6)开源社区命名为 Spring Cloud
7)微服务是一种新型的 软件架构风格
8)把单个巨型服务应用,分解为多个独立的、微小的服务程序
9)单独部署
10)单独伸缩
11)去中心化:数据中心、管理中心
12)敏捷性、灵活性、需求变化,更加高效的软件架构模式
微服务架构诞生在 SOS,最早的时候并不叫微服务架构,而是叫 Micro Web
Service,指微小的 web service 程序,使用 Java 写了一套轻量级的微服务架构的解决方案,是移动互联网时代很重要的一个标志,服务端的接口的应用程序的开始轻量计划。
目前,微服务框架以 recipe 风格为主的一个很重要的原因,后续无论是去中心化、敏捷开发、单独部署等都是随着程序的微服务化快速开发与部署,逐步诞生了一系列的经典的工具,辅助用户提升业务应用的开发部署模式与效率。