整体是从用户视角,从外往内介绍。前面讲了平台的几个模块(就是前端部署包)。今天开始介绍后台服务(微服务,SpringCloud,通过-jar 参数启动的jar包)。
门户服务完成登录、注册、界面配置、功能链接显示等功能。
一个服务从开发角度,分为控制层(controller)、服务层(service)、数据访问层(dao)、实体层(entity),具体都是jar包,通过搭建maven私服来管理。
服务的配置分为两部分,本地部分和nacos中统一管理部分。本地部分是个jar包外的配置文件,可以通过记事本来维护。本地配置描述nacos地址、本地服务名字、端口号等。实际运行环境中是一个服务部署包+多个本地配置文件的方式,使用多个配置文件的原因主要在端口不同,从而可以同时启动多个微服务。
前端模块不是直连服务的,前端模块统一对springgate网关,网关也是注册在nacos中的服务。网关会把请求根据访问地址路由到具体的服务。
在平台降级版本中,可以去掉网关,配置前端模块直连服务;进一步,还可以把前端直接打包到后台jar里,从而模拟了单体架构。更进一步,可以使用java版的嵌入数据库,把数据库也打包到这个jar里,形成平台最小的版本。这就是平台的可伸缩性。