1.1什么是微服务架构 Microservice| 学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习1.1什么是微服务架构 Microservice。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战1.1什么是微服务架构 Microservice】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/60/detail/1105


1.1什么是微服务架构 Microservice

 

内容介绍:

一、20年软件架构演化

二、什么是微服务架构

三、微服务的发展历史

 

一、20年软件架构演化

image.png

软件架构演化从单体的单个软件、独立安装、一台机器到 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 宣布正式开源

相关文章
|
7天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
7天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
2天前
|
监控 测试技术 持续交付
探索现代微服务架构的最佳实践
【4月更文挑战第25天】 随着软件开发领域不断演进,微服务架构已成为设计灵活、可扩展且高度可维护系统的首选方案。本文将深入探讨构建和部署微服务时的关键最佳实践,涵盖从服务划分原则到持续集成/持续部署(CI/CD)的流程,再到监控与日志记录的策略。我们的目标是为开发者提供一套实用的指南,帮助他们在构建未来的应用程序时做出明智的架构选择,并确保这些系统能够快速响应市场和技术的变化。
|
2天前
|
消息中间件 负载均衡 持续交付
构建高效微服务架构:后端开发者的终极指南
【4月更文挑战第25天】在当今软件工程领域,微服务架构已经成为实现可扩展、灵活且容错的系统的首选模式。本文将探讨如何从零开始构建一个高效的微服务系统,涵盖关键组件的选择、通信机制、数据管理以及持续集成和部署策略。通过深入分析与案例研究,我们旨在为后端开发者提供一个全面的微服务实践指南,帮助他们在构建现代化应用时做出明智的架构决策。
|
2天前
|
消息中间件 持续交付 数据库
构建高效可靠的微服务架构:策略与实践
【4月更文挑战第25天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。本文深入探讨了如何构建一个高效且可靠的微服务架构,包括关键的设计原则、技术选型以及实践中的挑战和应对策略。通过分析多个成功案例,我们总结了一系列最佳实践,并提出了一套可量化的性能优化方法。文章不仅为开发者提供了具体的技术指导,同时也强调了团队协作和持续学习在微服务转型过程中的重要性。
|
3天前
|
持续交付 API 开发者
构建高效微服务架构:后端开发的新范式
【4月更文挑战第24天】 随着现代软件系统的复杂性日益增加,传统的单体应用已难以满足快速迭代与灵活扩展的需求。微服务架构作为一种新兴的软件开发模式,以其服务的细粒度、独立部署和弹性伸缩等优势,正在逐渐成为后端开发的重要趋势。本文将深入探讨微服务架构的设计原则、关键技术以及在实际业务中的应用实践,旨在为后端开发者提供构建和维护高效微服务架构的参考指南。
|
4天前
|
监控 API 持续交付
构建高效微服务架构:后端开发的新趋势
【4月更文挑战第23天】 随着现代软件开发实践的不断演进,微服务架构已经成为企业追求敏捷、可扩展和弹性解决方案的首选。本文深入探讨了如何构建一个高效的微服务架构,涵盖了关键的设计原则、技术选型以及实践建议。通过分析微服务的独立性、分布式特性和容错机制,我们将揭示如何利用容器化、服务网格和API网关等技术手段,来优化后端系统的可维护性和性能。文章旨在为后端开发人员提供一套全面的指南,以应对不断变化的业务需求和技术挑战。
|
19天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
23 0
|
18天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。
|
9天前
|
机器学习/深度学习 运维 Prometheus
探索微服务架构下的系统监控策略
【4月更文挑战第18天】在当今快速迭代和持续部署盛行的软件工程实践中,微服务架构因其灵活性和可扩展性受到企业青睐。然而,随着服务的细粒度拆分和网络通信的增加,传统的监控手段已不再适用。本文将探讨在微服务环境中实施有效系统监控的策略,包括日志聚合、性能指标收集、分布式追踪以及异常检测等关键技术实践,旨在为读者提供构建稳定、可靠且易于维护的微服务系统的参考指南。
16 0