当代生产系统设计/生存要则(factors)

去年,我们根据所在产品线情况,整理了一份的开发要则(部分参考12-factor的内容和方式)。要则潜移默化的影响了后续的系统设计开发,使得新系统往更优雅、更具竞争力的方向发展。现在把要则放到博客和产品线技术汇,便于查阅与交流。

注:要则虽然由根据云时代特征制定的,但同样非常适合不在云跑的系统(文末有‘神书’推荐)

不要将两个app混放放在同一个仓库(repo). 用git submodules,这样你可以单独跟踪它们的变化      
不要为不同环境(如开发、测试和生产)设置不同的代码库
在很多在线系统中,会使用session(会话)来传递当前的状态。当被调用方接收到session后,会将它保存下来,后续的请求,都会被路由到这个服务中。这时请求和请求之间,会有严格的调用顺序。我们的原则是需要避免这种情况。
不应该在git上面放jar包,或者binaryartifact,而是通过maven进行声明式依赖放git库,各种版本依赖会非常容易出错
Backingservice 意味着你的代码应该对数据库或其他存储不可知(松耦合)。

PS:最近看了一本神书《Unix编程艺术》,虽然是2000前开始写的,却已涵盖了以上要则背后的理念,膜拜一下。纵观整个IT发展史,基本是往Unix设计哲学的理念方向发展(如微服务,rest,敏捷编程的流行,符合了Unix的模块原则,组合原则,简洁原则,文本化(透明原则),经济原则等等)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容