1、在体系中使用OpenResty+JFinal做为开发语言,其中OpenResty为主力开发语言,如非必要,不采用JFinal进行开发工作。强迫大家学习新知识,达到后端开发技术的统一,达到性能的最大化。
2、采用SSDB+MYSQL进行数据库保存工作,其中以SSDB的NOSQL保存为主,以MYSQL保存查询关系信息,具体使用方式需要技术小组审核通过。因为初次使用以NOSQL为主,以MYSQL为辅的思路,所以,一切小心。
3、REDIS继续保持在体系中,起到缓存层的作用,比如自动完成等功能、强调超高性能的数据信息,保存在REDIS中,但一定要注意REDIS使用内存的数量,而且使用REDIS存在要预热等问题。
4、对于统计分析不采用ETL数据抽取的方式进行,而使用SSDB保存各种要显示的统计信息。传统ETL的抽取工作,统计时间长,需要表的设计,不能实时实现统计功能,需要浪费大量精力,不如使用缓存记录来的直接。
5、对于基础数据的数据库记录,尽量采用SSDB的NOSQL进行保存,比NOSQL中抽出查询条件数据信息保存到MYSQL中,如果MYSQL数据库丢失,也可以通过NOSQL+编写程序的办法重新生成MYSQL数据表。
6、NOSQL的SSDB可以采用SSDB双主的方式进行数据存储,这样就算是有单机故障,也可以保证平台的正常运转。
7、如果能用SPHINX进行查询的,坚持使用SPHINX进行查询,关系型查询的性能大约比MYSQL快十倍左右。不方便使用SPHINX进行查询的,建议使用SSDB的LIST或ZSET完成,如非十分必要,不采用MYSQL进行连接数据库查询。
8、强烈推荐大家阅读:http://blog.zoomquiet.org/pyblosxom/2012/03/ 由Lua 粘合的Nginx生态环境,干货太多,春哥的理念已经完全超越时代,一台NGINX服务器顶了JAVA几十台服务器的事迹让人膜拜!
9、程序开发不是一轮完成的,需要不断的重构或重做,但每一轮我们都要能保证完整的功能提供、保证比上一版强的多,否则就没有了重构的必要。
10、后端研发人员,在开发模块之前,需将业务流程整理成文档,将技术实现路线整理成文档,将数据库表,SSDB中保存的方式整理成文档,与吴缤、申健组成的技术审核小组进行讨论通过方可进行开发。
11、后端研发人员,在完成模块开发后,需提交代码让申健进行审核,审核通过,方可通过验收。