【从零开始学微服务】02.初识微服务

简介: 大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。

大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家

软件架构风格

那么到底微服务是个什么东西呢?其实,微服务是一种软件架构风格。那么什么又是软件架构风格呢?可能有的童鞋已经懵圈了。

我们打个比方,好比建造房子,有中式建筑,欧式建筑等。这些不同的建筑风格,从外观上看,一眼就能看出来差别。
比如黄鹤楼,典型的中式风格建筑,整体使用木制卯榫结构,飞檐翘角,甚至还有五脊六兽。

再看巴黎的教堂,整体用石头筑建,高高的塔尖、大大的穹顶,一眼就能看出是欧式风格的建筑;

我们回过头来,再看软件系统中的架构风格,其实类似我们刚刚说到的建筑风格,就是在设计软件系统时使用的惯用模式,或者说是惯用伎俩。
了解了什么是软件架构风格,我们再继续看看微服务到底是个什么样的架构风格?

微服务

微服务(Microservices)是一种软件架构风格,是以专注于单一责任与功能的小型功能块为基础,利用模块化的方式组合出复杂的大型应用程序,各功能块使用与语言无关的API相互通信。

这是维基百科给出的微服务的定义,这个定义比较抽象,不是很好理解,那么我们来举个例子:

这是一个电商系统的例子,我们可以看到它是一个由一系列小服务组成的,比如:商品服务、订单服务、用户系统等等。

每一个服务都是围绕业务功能进行构建的,比如库存服务就是围绕库存相关的业务进行构建的。

每一个小服务都是独立开发、独立运行、独立部署的,比如促销服务是一个独立的项目,可以独立部署运行,所以它可以选择自己合适的语言或者工具进行构建,和其他服务完全不一样。

服务和服务之间使用轻量级的API进行通信,比如用户服务调用发票服务的时候,是通过基于RESTful风格的HTTP接口。

就这样,我们已经对微服务有了一个初步的印象,随后我们再逐步深入了解。

总结

软件架构风格:在设计软件系统时使用的惯用模式,或者说是惯用伎俩。

微服务:用一系列小型服务组建成一个大系统,每个服务都是围绕业务功能进行构建,每个服务都是独立开发、运行、部署,服务之间使用轻量级API相互通信。

最后,感谢你这么帅,还给我点赞


《从零开始学微服务》总目录

相关文章
|
6月前
|
Oracle Java 关系型数据库
Java命名规范
Java命名规范涵盖包、类、方法、变量等命名规则。包名全小写,类名首字母大写采用驼峰法,接口常用形容词,抽象类以Abstract/Base开头,异常类以Exception结尾,方法名小写驼峰,常量全大写用下划线分隔,枚举值按常量规范命名,提升代码可读性与一致性。
924 0
|
传感器 存储 安全
物联网技术
物联网(Internet of Things,IoT)是指通过感知设备、网络传输、数据处理等技术手段,实现物与物、人与物之间的互联互通和智能化管理的网络
2536 48
|
存储 人工智能 PyTorch
【AI系统】模型转换流程
本文详细介绍了AI模型在不同框架间的转换方法,包括直接转换和规范式转换两种方式。直接转换涉及从源框架直接生成目标框架的模型文件,而规范式转换则通过一个中间标准格式(如ONNX)作为桥梁,实现模型的跨框架迁移。文中还提供了具体的转换流程和技术细节,以及模型转换工具的概览,帮助用户解决训练环境与部署环境不匹配的问题。
827 5
【AI系统】模型转换流程
|
存储 安全 数据库
Python 全栈安全(二)(3)
Python 全栈安全(二)
396 0
|
机器学习/深度学习 人工智能 算法框架/工具
使用Python实现深度学习模型:智能身份验证与防伪
使用Python实现深度学习模型:智能身份验证与防伪
719 1
|
JavaScript 前端开发 编译器
【TypeScript技术专栏】深入理解TypeScript编译过程
【4月更文挑战第30天】TypeScript编译过程包括解析、类型检查、语义分析和代码生成四个步骤。解析阶段将源代码转为AST;类型检查确保代码符合类型规则,捕获类型错误;语义分析检查代码逻辑一致性;最后生成JavaScript代码。这一过程保证了代码的语法、类型和语义正确性,提升开发效率和代码质量。了解此过程有助于开发者更好地理解和解决问题。
552 0
|
存储 NoSQL 算法
5)深度解密 Redis 的哈希(Hash)
5)深度解密 Redis 的哈希(Hash)
494 1
|
Windows
Windows操作系统中环境变量的检索顺序
Windows操作系统中环境变量的检索顺序
553 3
|
机器学习/深度学习 知识图谱
第4章:知识融合:概述、方法
第4章:知识融合:概述、方法
第4章:知识融合:概述、方法