1.前言
当我们不断向前奔跑时,需要回头压实走过的路。不断扩张的同时把相应的内容沉淀下来,为后续的发展铺垫基石。
不知从何时起,产品的架构就面向了微服务/中台化/前后端分离/低代码化/分布式/智能化/运行可观测化的综合体,让产品不再那么单一,综合性让产品的整体结构相互交融,进入一个大而全的/现代化的服务平台,对团队成员的素质要求不断提升。
2.产品的架构体体系:
3.相应需求的服务组件:
基于现代it基础服务的需求,各个层级提供不同的需求实现:
3.1微服务:
使用spring cloud相关组件作为基础;引入nacos,sentiel等基础服务,实现了服务注册与发现,服务降级与熔断;搭建elk作为服务日志的统一管理需求。
3.2中台化:
采用微应用架构,在微服务的基础之上构建了多个相对独立又能有机整合的微应用,使业务及相关操作更加专业化,统一化。
3.3前后端分离:
由于基于微服务应用结构,使UI成为服务最终整合的一个切入点,多个位置采用了前后端分离方案,对于定制化较高的服务,使用thymeleaf模板引擎解决产品动态扩展需求。
3.4低代码化:
得益于中台化/工程化的思维构建整体体系,使业务流程固化等工作量大的事项全部无代码实现,解决了核心应用IT基础化改造。
3.5分布式:
由于产品面向超大规模企业应用设计,所以引入了消息队列作为分布式的基础架构,让相关的业务可已基于消息通知完成相应的事项处理。
3.6智能化:
由于业务的不断扩展,会使产品运行出现意想不到的突发事件,产品基于数据规则,不断体系化完善相关服务,使业务在发生异常时在一定程度上能自我修复。
3.7运行可观测化
作为较为现代的框架,运行可观测性已是基本的要求,引入micrometer 完成标准化运行指标采集,最终使用可视化框架完成相应指标的展示与预警处理。
4.涉及的知识体系
基于以上的分析,团队所需要的知识体系初步如下
知识类型 | 序号 | 知识点 | 其他 |
计算机基础 | 操作系统原理 | ||
编译原理 | |||
计算机模型 | |||
linux基本操作 | |||
window基本操作 | |||
网络基础知识 | |||
文档能力 | 解决方案编写能力 | ||
word/excel/ppt/visio等操作能力 | |||
计算机语言 | JAVA | ||
HTML | |||
CSS | |||
JAVASCRIPT | |||
sql | |||
elementUI | |||
vue | |||
react | |||
shell | |||
c++ | |||
go | |||
其他 | |||
工具与中间件 | 浏览器调试工具 | ||
IDE工具 | |||
DB工具 | |||
redis | |||
rabbitmq | |||
nacos | |||
elk | |||
vsftp | |||
kkfile | |||
软件工程 | 软件项目全生命周期 | ||
..... | |||
社会工程学 | 基本交流能力 | ||
自我表达能力 | |||