微服务是什么_2|学习笔记

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 快速学习微服务是什么_2

开发者学堂课程【微服务框架 Spring Cloud 快速入门:微服务是什么_2】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/614/detail/9328


微服务是什么_2

 

内容介绍

一、 微服务介绍

二、 微服务由来

三、 技术维度理解

 

一、微服务介绍

“微服务”是在软件架构拥挤的街道上又个新名词。尽管自然倾向是以轻蔑的眼光来传递这样的东西,但这些术语描述了一种越来越吸引人的软件系统风格。可以看到许多项目在过去几年中都采用了这种风格,迄今为止的结果是积极的,因此这正成为构建企业应用程序的默认风格。遗憾的是没有太多的信息来概述微服务的风格以及如何去做。

简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法(言下之意就是化整为零),每种应用程序都运行在自己的进程中,并与轻量级机制(通常是 HTTP 资源 API)进行通信。(进程和进程之间通过 rest 进行开发调用)这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署(大工程划分为10个微服务)。这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。

要开始解释微服务风格,将其与单一风格进行比较是非常有用的:

将单一应用程序构建为单个单元。企业应用程序通常建立在三个主要部分中:一个客户端用户界面(由用户计算机上的浏览器中运行的HTML页面和JavaScript组成)数据库(包含插入常见的通常是关系数据库管理的许多表系统)和一个服务器端应用程序。服务器端应用程序将处理HTTP请求,执行域逻辑,从数据库检索和更新数据,选择并填充要发送到浏览器的HTML视图。这个服务器端应用程序是一个庞然大物一个逻辑可执行文件。系统的任何更改都涉及构建和部署新版本的服务器端应用程序。

这种单一的服务器是构建这种系统的一种自然方式。处理请求的所有逻辑都在一个进程中运行,允许用户使用语言的基本功能将应用程序划分为类,函数和名称空间。谨慎操作时,用户可以在开发人员的笔记本电脑上运行和测试应用程序,并使用部署管道来确保更改经过适当测试并部署到生产环境中。用户可以通过在负载平衡器后面运行多个实例来横向缩放整体。

 

二、微服务由来

以前提出的架构:*All In one 单机系统

所有内容都在一块,可以看作 eclipse 里面只有一个大的工程商品/订单/交易/库存....,各个模块都集中在一起。

War 也称为巨石

image.png

如果其中一个模块出现问题,那么就会全部出现问题,导致瘫痪。

所以推出了-----分布式系统

image.png

各个模块/服务各自独立出来分灶吃饭

各自形成微小的一个进程,让专业的人专业的模块,来做专业的事情独立部署

此时在容器中不在是单一的一个模块了,而是有多个模块,各个服务都有自己单独的进程,服务和服务之间使用 address 来相互使用调用,这样就很好取消了大规模的冲突。一个模块出现问题不会影响其他模块。

1. 拆分

2. 各自独立的进程

3. 拥有自己独立的数据库

需要深刻理解概念,重要的是增加自己的知识,后续才可以更加好的学习。

分布式系统和*All In one单机系统的区别

image.png


三、技术维度理解

微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。一个服务可以只链接一个数据库,也可以链接多个数据库。

相关文章
|
6月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
158 0
|
6月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
265 0
|
6月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
154 1
|
6月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
145 1
|
6月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
101 1
|
6月前
|
SpringCloudAlibaba Java 持续交付
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
759 1
|
6月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
780 0
|
6月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
999 0
|
6月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
104 0
|
6月前
|
负载均衡 算法 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
132 0