SpringCloud微服务化规划
2021-03-02 14:12:28 2 举报
AI智能生成
SpringCloud微服务化规划
作者其他创作
大纲/内容
SpringCloud微服务化规划
参与人员
XX产品组
需求梳理
F5管理平台
虚拟化云管平台
时间规划
时间制定
201807月-8月
sit服务器申请(3台)
gitlib搭建
F5代码架构搭建
代码提交到gitlib
sddc-eureka打包为docker镜像
F5管理平台数据库表结构设计
F5中台接口开发
F5管理平台前端页面设计
F5前台工程对接F5接口工程编码
2018年8月初-8月中旬
基础数据工程搭建
基础数据接口开发
开发计划
1、系统部署环境
eureka安装(3台高可用)
版本管理gitlib安装(吴永承)
服务器申请(薛飞申请3个)
sddc-eureka docker镜像打包
2、项目代码名称统一修改(薛飞和吴永承)
sddc-common
sddc-eureka
sddc-parent
sddc-f5mp
f5mp-client
f5mp-core
f5mp-web
sddc-f5mp-web
3、代码上传到git(薛飞)
4、f5mp数据库统一设计(薛飞和吴永承)
5、配置管理工程开发(杨得朝)
6、F5中台接口模块划分(薛飞)
后台管理
F5设备管理
VS管理
策略管理
IRule管理
限流管理
审核管理
系统管理
审计管理
历史操作记录
策略操作记录
限流操作记录
VS创建详细步骤
监控管理
监控配置
监控记录
权限管理
用户管理
角色管理
权限资源
菜单管理
7、中台接口微服务接口开发(统一开发)
8、F5前端管理UI开发(王浩)
登录页面
后台管理页面
UI标准
技术框架
bootstrap+css+jquery+html+ajax等
界面美观
table列表可以自由选择显示的列
搜索框可分页查询
9、F5前台工程对接微服务后台工程(所有成员)
11、中台接口工程通用组件完善(杨得朝)
12、定时任务工程开发(吴永承)
13、统一鉴权接口工程创建与开发(杨得朝+高正)
鉴权
授权
数据权限
菜单权限
14、基础数据工程创建与接口开发(杨得朝、薛飞和吴永承)
项目预期目标
系统低耦合
1、将F5管理平台和虚拟化云管平台相关接口服务进行拆分,系统解耦。
2、系统内部通用服务和独立服务进行内部解耦,采用微服务架构实现。
3、所有前端系统通过微服务方式调用别的服务。前台系统不再出现Service服务接口实现。
高性能
1、根据业务对于高并发业务能实现自由扩展系统性能
2、采用分布式架构技术实现系统高性能
3、对于高并发搜索业务,单独进行搜索服务提供和优化
高可用
1、各服务可以进行独立部署和扩展,个别服务出现异常不会导致业务中断。
2、使用异步消息机制,提升系统响应时间性能。
扩展性
系统服务可以按照系统压力进行自由扩展服务,提供可按需伸缩的服务
统一配置
1、同一个上线包,无须改动配置,即可在多个环境中(proc/uat/sit/生产) 上线
2、部署动态化:更改配置,无需重新打包或重启,即可 实时生效
3、统一管理:提供web平台,统一管理 多个环境(proc/uat/sit/生产)、多个产品 的所有配置
安全性
1、满足重要数据防泄漏
2、满足数据准确可靠,防篡改
开发规范制定
编码规范
命名规范
注释规范
异常处理规范
系统分页
返回结果统一制定
........等等
数据库字段、view、java实体对应规范
maven配置规范
版本同一管理
依赖包同一管理
maven插件制定
版本规范
SpringCloud版本
版本演进
1、Finchley\tsnapshot版
2、Edgware\tsnapshot版
3、Dalston SR1\t 当前最新稳定版本
4、Camden SR7\t稳定版本
5、Brixton SR7\t稳定版本
6、Angel SR6\t稳定版本
版本匹配关系
Finchley\t兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x
Dalston和Edgware\t兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x
Camden\t兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x
Brixton\t兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x
Angel\t兼容Spring Boot 1.2.x
版本选择
springboot 1.5.2.RELEASE
springcloud Dalston.SR1
JDK版本 1.8
Maven版本3.4
Tomcat版本 7.0.78,8.5.4
Redis版本 3.0.6
Mysql版本 5.7.20
nginx 1.10.3
包命名规范
包名规范:公司名.应用名.模块名.
公司名:cn.com.spdbccc
应用名:如dcos、elk、f5等
举例
1、云计算平台:cn.com.spdbccc.dcos
2、日志平台:cn.com.spdbccc.elk
3、F5管理平台:cn.com.spdbccc.f5
业务系统架构
系统架构
功能架构
业务系统人员梳理(待整理)
技术架构
技术选型
1、前端技术
bootstrap+css+jquery+html+ajax
2、应用中间件
spring
springCloud
rabbitMQ
3、数据存储
mysql
redis
mongodb
对象存储
分库分表mycat(待定)
4、数据计算
spark
hadoop
5、数据搜索
elasticsearch
6、系统部署
tomcat、jboss待定
7、定时任务
Quartz Scheduler
8、服务注册与发现
Eureka、zookeeper、consul(待定)
数据架构
1、当前业务系统调研
1、数据库E-R图梳理
1、F5平台数据库E-R图
2、虚拟化云管平台数据库E-R图
3、ELK日志平台数据库E-R图
4、容器云平台数据库E-R图
2、通用基础数据抽取
2、微服务数据库架构搭建
工程架构
基础服务工程
common工程
通用组件
authorization工程
统一鉴权管理
config工程
统一配置管理
scheduling工程
定时任务工程
监控服务
日志服务
基础信息服务
信息处理服务
邮件
短信
统一网关负载
待完善.......
业务处理工程
F5 web前台工程
F5系统前台系统
F5 service中台工程
F5对外提供服务
dcos web前台工程
dcos service中台工程
xnhgl web前台工程
xnhgl service中台工程
微服务化方案
待梳理........
springCloud组件
1、Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。
2、Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
3、Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
4、Netflix Eureka:云端负载均衡,一个基于 REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。
6、Netflix Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。
7、Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
8、Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
10、Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。
11、Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。
12、Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
13、Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。
15、Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
0 条评论
下一页