众所周知,软件项目成功必要因素很多,泛泛来说,下面几条也缺一不可。
1. 完备调研,项目需求分析完美契合用户或者客户所需所想
2. 开发实施:设计、Coding、测试、部署、运维,每一流程都达到或者超出预期目标
3. 市场推广:销售或市场人员对产品合理推广
这篇文章将更多的集中在第二条开发实施这块,做一些常见的技术经验,希望对大家有一些借鉴。
设计这块,请参考 “产品开发技术文档模板”这篇文章。
Coding
泛泛的模块化,SOA等等这些概念,这里不想赘述,这儿更多分享一些实战经验,不限开发语言。
1. 线程安全:Coding简单来说就是逻辑性的调用基本库API /开源库的API 及语言基本组成部分(语法、结构、变量、常量、语句、函数等),给定输入,输出预期输出,因此,编码者应本着对程序负责的态度,仔细阅读你所使用API 文档/API 源码来确定是线程安全的,如果不是线程安全的,要么你没有多线程场景,要么你自己通过线程锁/读写锁机制去保证线程安全,结构同样如此,比如golang map就不是线程安全的。
2. API 限制: API是由使用条件的,比如buffer最大长度等等,这时一定要基于你的应用场景做出合适的处理,是分段处理,还是通过API提供的调整API buffer 最大长度API去加长buffer最大长度,这些均需要你从系统稳定性及性能去考虑选择最优方案,比如kafka系统receive size是由配置文件配置size决定的,你需要了解它的size限制。
3. Failover机制: 未完待续
有疑问加站长微信联系(非本文作者)