微服务有关的概念
微服务
指的是具体的一个应用服务,是为用户提供服务、解决问题的单位。狭义的来讲可以说是一个个微服务工程,它具体可以是使用SpringBoot开发的一个小模块,而这个模块可以为用户提供具体的服务。
微服务架构
通常而言,微服务架构是一种架构模式,或者说是一种架构风格。
- 微服务架构它将一个单一的应用划分成一个个小的服务,每个服务都可以独立运行在各自的进程上,这些服务之间互相协调,互相配置,为用户提供最终的价值。
- 微服务架构之间采用轻量级的通信机制(比如Http)互相通信,每个服务都围绕着各自具体的业务进行构建,并且能够被独立的部署到生产环境中。
- 另外,对于每一个微服务,我们应该尽量避免统一的、集中式的服务管理机制。对具体的一个服务而言,应该根据业务的上下文,选择合适的语言,工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储。
微服务化的核心:就是将传统的一站式应用,根据业务拆分成一个一个的服务,这样可以彻底的去耦合,每一个微服务各自独立运作,可以为用户提供单个业务功能的服务。从技术的角度来看是一个小而独立的处理过程,类似进程的概念,能够单独启动或者单独销毁,并且可以拥有自己独立的数据库。
微服务的优点
- 每个服务内聚比较高,并且服务比较小,代码也比较容易理解,这样一来,就比较容易聚焦一个指定的业务功能或业务需求;
- 开发简单且效率高,一个服务可以只专一的干一件事;
- 一个小团队就可以开发一个微服务;
- 微服务低耦合,高内聚,是具有用能意义的服务,无论是在开发阶段还是部署阶段都是独立的;
- 因为每个服务是独立的,所以能使用不同的语言进行开发;
- 容易和第三方集成微服务允许通过持续集成工具以容易且灵活的方式集成自动部署;
- 微服务容易被一个开发人员理解、修改和维护;
- 微服务允许利用和融合最新技术。
(基于狂神说的SpringCloud学习笔记总结改编)