开发者学堂课程【Spring Cloud 微服务架构设计与开发实战:1.1什么是微服务架构 Microservice】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/60/detail/1105
1.1什么是微服务架构 Microservice
内容介绍:
一、20年软件架构演化
二、什么是微服务架构
三、微服务的发展历史
一、20年软件架构演化
软件架构演化从单体的单个软件、独立安装、一台机器到 SOA 的分布式、面向服务、SOAP、跨平台、多系统、Web 服务、Dubbo再演化为微服务的 Spring Clound、Docker、KBS、云计算、云原生。
二、什么是微服务架构
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)敏捷性、灵活性、需求变化,更加高效的软件架构模式
微服务:微小的服务
(1)微服务架构:将单个应用拆分成多个独立的、微小的服务
(2)每个小服务程序运行在独立的进程中
(3)服务与服务之间通过轻量协议通信
(4)通信机制互相协作、互相配合,从而为终端用户提供业务价值
(5)每个小服务,可以采用不同的语言、框架、工具独立开发、测试、署、运维
(6)微服务:独立的小服务
2、微服务
(1)简而言之,微服务架构风格是一种将单个应用程序开发为一套小服务程序的方法,每个小服务都在自己的进程中运行,并使用轻量级协议(通常是HTTP协议)进行通信。
(2)这些服务围绕业务功能构建,可通过全自动部署机制独立部署。这些服务很少使用中心化管理模式,可以用不同的编程语言开发,也可能使用不同的数据存储技术。
(3)-- James Lewis 与 Martin Fowler
3、Wikipedia 定义
(1) In computing, microservices is a software architecture style in which complex applications are composed of small, independent processes communicating with eachother using language-agnostic APIs.
(2) 在计算机领域中,微服务是一种软件架构风格,复杂的应用程序由语言无关的 API、相互通信的小型独立服务进程组成。
(3) These services are small building blocks, highly
decoupled and focused on doing a small task, fciltatinga modular approach to system-building.
(4) 这些服务是小型构建模块,高度解耦,专注于完成一项小任务,是一种便捷的模块化系统构建方法。
三、微服务的发展历史
1. Dr.Peter Rodgers 在2005年的 Web Serices Edge conference 大会上演讲,PPT第4页引入"Micro-Web-Services"一词。
2.2007年,Netflix 开始走向全面拆分巨型 SOA 服务的漫长道路。
3.201 1年5月在威尼斯附近举办的软件架构师研讨会使用了“微服务”"microservices" 一词。
4.2012 Netflix 开源了所有的微服务相关工具框架的源码。
5.2012年5月, 同一个组织宣布"microservices"是最恰当的名词。
6. James Lewis 在2012年4月第33届 Degree in Krakow in
Microservices - Java, the Unix Way,大会上案例研究分享时提出了类似的想法,Fred George 也大约在这个时间提出了类似观点。
7. Netflix 公司的 Adrian Cockcroft,称为: "fine grained SOA"
8.2014年4月25号,Martin Fowler 发表 Microservices a definition ofthis new architectural term
9.2015, Spring Cloud Netflix 正式发布1.0版本.成为微服务架构的首选
10.2018年10月31日 Spring Cloud Alibaba 宣布正式开源