专栏名称: 凤凰牌老熊
互联网金融,软件架构,资深Java工程师
目录
相关文章推荐
芋道源码  ·  疯传Java界,堪称最强! ·  7 小时前  
芋道源码  ·  30K ... ·  昨天  
芋道源码  ·  Spring Boot + URule ... ·  昨天  
芋道源码  ·  Spring-Security ... ·  2 天前  
51好读  ›  专栏  ›  凤凰牌老熊

重构中的内部准备工作

凤凰牌老熊  · 公众号  · Java  · 2017-03-08 06:26

正文

请到「今天看啥」查看全文


以下原则是在刚启动微服务架构改进的时候制定的。

虚机开发
所有开发工作必须在虚机上进行,不得使用个人物理机开发。这使得开发人员能够随时在任何地方调起开发环境,避免由于环境配置问题而影响问题修复。

版本控制
使用Git做版本控制。 每个项目都有一个基准代码库,部署时从主干获取代码。上线时对主干打Tag,每个Tag对应一个线上可执行代码。 测试环境、预部署环境和线上环境都使用相同的基准代码。

代码审核
为了保证代码质量,所有代码必须通过至少两位工程师的审核才可以签入到主干版本中。执行日常代码审核,避免在部署前进行突击式审核。

自动部署
开发人员不得直接将开发机上的构件推送到测试、线上环境。 build, release和run必须分离。 自动部署系统(Jenkins)将从版本控制服务器上下载代码,编译并发布到各个stage server上。

横向扩展
所有系统必须可以通过多进程部署的方式进行扩展。 这就要求:

  1. 所有系统可以运行在一个或多个进程中。 但所有进程必须是无状态的,进程之间是无共享的。 对于Web来说,特别注意避免依赖session。如有需要,session需保存在membcached或者redis等内存缓存中。







请到「今天看啥」查看全文


推荐文章
芋道源码  ·  疯传Java界,堪称最强!
7 小时前