微服务简介

Posted 神的孩子都在歌唱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务简介相关的知识,希望对你有一定的参考价值。

前言:

作者:神的孩子在歌唱

大家好,我叫智

什么是微服务

百度百科:

维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。

架构演变

  1. 原先的开发使用的是单体架构,他是将业务的所有功能集中在一个项目中开发,打成一个包部署。优点是架构简单部署成本低,缺点是耦合度高维护升级都很困难

  2. 后来据业务功能对系统做拆分,形成分布式架构,每个业务功能模块作为独立项目开发,称为一个服务

    优点

    (1)降低服务耦合

    (2)有利于服务升级和拓展

    缺点

    (1)服务调用关系错综复杂

    分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:

    • 服务拆分的粒度如何界定
    • 服务之间如何调用
    • 服务的调用关系如何管理

    人们需要制定一套行之有效的标准来约束分布式架构

  3. 为了约束分布式架构就形成了微服务的概念:通过服务网关,对每个服务(功能模块)进行控制,每个模块都有独立的数据库

    特征:

    • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
    • 自治:团队独立、技术独立、数据独立,独立部署和交付
    • 面向服务:服务提供统一标准的接口,与语言和技术无关
    • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

    微服务的上述特性其实是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。因此,可以认为微服务是一种经过良好架构设计的分布式架构方案

  4. 概括:单体架构是将所有功能模块整合一起,分布式架构是将所有模块分开,共用同一个数据库,并且每个服务间没有进行有效的管理,微服务相当于分布式架构升级版,给每个服务都分配了数据库,并且有服务网关对每个模块之间进行管理。

需要学习的微服务知识

来着黑马教程的图片:

本人csdn博客:https://blog.csdn.net/weixin_46654114

转载说明:跟我说明,务必注明来源,附带本人博客连接。

以上是关于微服务简介的主要内容,如果未能解决你的问题,请参考以下文章

微服务简介

什么是微服务,微服务简介

SpringCloud系列-2Ribbon简介与应用

ABP vNext微服务架构详细教程——简介

微前端架构实现(项目引入,消息总线,构建部署,监听服务)

Android Studio下项目构建的Gradle配置及打包应用变体