基础技术演进
03 Feb 2017后端
2016 总结
1.Dubbo & Zookeeper -> Spring Cloud Netflix(Eureka, Zuul, Hystrix, Ribbon, Feign), Swagger, JWT, Metrics, Config Server 等技术
演进理由:
- Spring Cloud 社区活跃度优于 Dubbo
- Spring Cloud 架构更加完整, 是一套完整应用的开发方案
- Dubbo 已基本停止维护, Latest release: released on 30 Oct 2014
Dubbo | Spring Cloud | |
---|---|---|
服务注册中心 | Zookeeper | Spring Cloud Netflix Eureka |
服务调用方式 | RPC | REST API |
服务网关 | 无 | Spring Cloud Netflix Zuul |
断路器 | 不完善 | Spring Cloud Netflix Hystrix |
分布式配置 | 无 | Spring Cloud Config |
服务跟踪 | 无 | Spring Cloud Sleuth |
消息总线 | 无 | Spring Cloud Bus |
数据流 | 无 | Spring Cloud Stream |
批量任务 | 无 | Spring Cloud Task |
2.SVN -> Git
演进理由:
- 分布式, 快速, 支持离线工作, 回退功能强大
- 可以引入更加灵活的开发模式, 保持工作自由且独立
- 社区的强大优势
3.以Git为基础, 引入2种较之前更加灵活的开发及测试模式
- Git Flow(排片项目)
- Trunk Based(基础数据项目)
4.将容器化技术带入到2个项目的全流程中(排片, 基础数据), 更快速的辅助了新的开发与持续集成模型
2017 展望
1.完成公司方向性任务, 以及技术细节的改进(lombok, Guava等)
2.能否不仅仅依赖Spring社区, 而更有针对性引入框架技术(Netty, RxJava, Vert.x, Play等)
3.数据库层面同上, 不仅仅依赖Redis, MySql, 能否针对业务考虑对应数据库(PG, Mongo, Cassandra, ES, Neo4j等)
4.服务链路追踪以及服务治理深入研究
5.服务限流和容错的细化方案
6.网关对于访问量, 调用延迟,错误计数和访问模式的监控及预警
7.监控做到事故预警, 故障定位, 优化决策及行为数据分析
8.容器化技术进一步落地 (镜像中心, 容器集群管理), 支持微服务的部署混合化(自建机房+云), 弹性伸缩
前端
2016 总结
1.实现分模块打包, 各前端项目独立开发
2.优化前端加载效率
2017 展望
1.基于React,Vue或Ng 开发新版轻量级前端基础代码()
2.封装组件库
3.使用新构建及打包工具(Yarn, Webpack)
4.在新版代码中, 使用ES6进行开发(Babel)
5.采用服务端渲染, 并构建NodeJS应用(Express, Koa)
6.实践前端代码样式检测(ESLint), 单元测试(Jasmine, PhantomJS)
7.尝试使用Typescript或Coffeescript
8.HTTP2.0改造
comments powered by Disqus