微服务简介
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务简介相关的知识,希望对你有一定的参考价值。
前言:
作者:神的孩子在歌唱
大家好,我叫智
什么是微服务
百度百科:
维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。
架构演变
-
原先的开发使用的是单体架构,他是将业务的所有功能集中在一个项目中开发,打成一个包部署。优点是架构简单,部署成本低,缺点是耦合度高,维护升级都很困难。
-
后来据业务功能对系统做拆分,形成分布式架构,每个业务功能模块作为独立项目开发,称为一个服务。
优点:
(1)降低服务耦合
(2)有利于服务升级和拓展
缺点:
(1)服务调用关系错综复杂
分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:
- 服务拆分的粒度如何界定?
- 服务之间如何调用?
- 服务的调用关系如何管理?
人们需要制定一套行之有效的标准来约束分布式架构。
-
为了约束分布式架构就形成了微服务的概念:通过服务网关,对每个服务(功能模块)进行控制,每个模块都有独立的数据库。
特征:
- 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
- 自治:团队独立、技术独立、数据独立,独立部署和交付
- 面向服务:服务提供统一标准的接口,与语言和技术无关
- 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题
微服务的上述特性其实是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。因此,可以认为微服务是一种经过良好架构设计的分布式架构方案 。
-
概括:单体架构是将所有功能模块整合一起,分布式架构是将所有模块分开,共用同一个数据库,并且每个服务间没有进行有效的管理,微服务相当于分布式架构升级版,给每个服务都分配了数据库,并且有服务网关对每个模块之间进行管理。
需要学习的微服务知识
来着黑马教程的图片:
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。
以上是关于微服务简介的主要内容,如果未能解决你的问题,请参考以下文章