1.什么叫微服务
- 微服务是一个小的,松耦合的分布式服务。
- 将一个大型应用程序分解为具有严格职责定义,便于管理的组件(小型应用程序)
- 核心理念:分解和分离程序功能,让功能独立
原来的系统服务(应用程序)都是单体模式,比如一个缴费系统:涵盖了用户管理、角色管理、权限管理、菜单管理、用户基础信息管理、缴费管理、发票管理等等功能模块,这些全部都集中于一个系统中,当某个模块的功能出现变动,可能整个系统都要修改或者重新打包更新。如果系统更复杂,那么造成功能之间的耦合性,代码的可维护性,修改代码的安全性等等一系列的问题。
而微服务的三个概念正是要解决上述问题,把一个大的、复杂的单体应用程序,拆分为多个小的组件,比如上面功能可拆分为以下组件:
- 系统基础功能:系统用户管理、菜单管理、角色管理、权限管理等
- 用户基础信息管理:用户基本信息、银行卡信息、发票开具信息、联系信息等
- 缴费管理:现金缴费、在线缴费、预存费用等等功能
- 发票管理:增值税普票、增值税专票、纸质收据等
这些功能模块都是独立程序,可以单独部署运行,相互之间调用通过HTTP接口调用,从而实现了代码的松耦合;同时把这些组件职责功能单一,便于维护和管理;部署这些组件的时候,分布式部署,从而