微服务介绍
为什么需要微服务
在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。
微服务与单体架构区别
(1)耦合角度:
单体架构:所有的模块全都耦合在一块,代码量大,维护困难。
微服务:每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。
(2)数据存储角度:
单体架构:所有的模块都共用一个数据库,存储方式比较单一。
微服务:每个模块都可以使用不同的存储方式,数据库也是单个模块对应自己的数据库。
(3)开发技术的使用:
单体架构:所有的模块开发所使用的技术一样。
微服务:每个模块都可以使用不同的开发技术,开发模式更灵活。
微服务的定义/本质
微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上则表现为一个统一的整体。微服务的目的是有效的拆分应用,实现敏捷开发和部署 。
适合微服务的应用程序
微服务可以按照业务功能本身的独立性来划分,如果系统提供的业务是非常底层的,如:操作系统内核、存储系统、网络系统、数据库系统等等,这类系统都偏底层,功能和功能之间有着紧密的配合关系,如果强制拆分为较小的服务单元,会让集成工作量急剧上升,并且这种人为的切割无法带来业务上的真正的隔离,所以无法做到独立部署和运行,也就不适合做成微服务了。总的来说,<