3 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改造


Tags:
0 comments