0.前言
做了这么久web开发,先后接触过不少python、Java、C#、Js、Kotlin、Go等主流语言的web开发框架,但其实时间长了会发现企业级web开发的特性要求是固定的,各个语言和框架都有自己的方案但殊途同归。特此做个总结系列,相对系统的梳理和回忆下我的知识。以下特性不限于单一语言,从架构设计上考量的话,只要满足相关特性即可,这是语言无关的,只要能达成既定的技术目标就好。
因为其中每点都能拿出来单独展开,因此第一版暂时开坑写个提纲,然后看我心情慢慢填坑
1.接入层网络特性
DNS分地区多IP解析+健康检查+灾备自动切换
L4VIP-L4RS四层负载均衡+健康检查+灾备自动切换
L4RS-L7IPs七层负载均衡+健康检查+灾备自动切换
L7IPs-serviceIPs负载均衡+健康检查+灾备自动切换
L4VIP直通serviceIPs
2.DevOps特性
监听代码变动
容器化打包
平滑关机
健康检查
流量路由
多环境打包
3.应用能力特性
服务注册
服务发现
mesh RPC能力
日志框架
本地、远程配置文件读取
统一结果类建模
序列化框架
应用声明周期监听(启动/退出/重启事件)
请求统一拦截器Interceptor
统一异常处理返回值
国际化
请求追踪能力 ThreadLocal
通用RouterMapping,支持路径前缀前缀复用到Class注解上
MVC解析HTTP报文,queryString,pathVariable,jsonBody
本地内存或分布式EventBus
本地内存缓存
分布式消息队列
分布式内存缓存
切面拦截能力
方法异步调用
定时任务调度
单元测试能力
依赖注入能力
资源池化能力
mysql数据库集成
mongo数据库集成
多数据源、故障自动切换
读写分离
存储层ORM、OGM
0 Comments