Redis系统中使用了三种数据存储,MySql,SqlServer,Redis,当然前两种适用于开源和C#,而Redis的使用则是为了那些总是难以找到有效关系和依赖的数据,比如之前只是知道Reids可以作为数据的存储,可以分布式,可以主从复制,但是在这次开发之后更真真的发现Reids或者Nosql对于一个数据规则难以掌握,数据量大的系统是多么的重要,因为有的时候一批的Json串过来之后,难以有效的挖出里面的关系与逻辑,索性就一次性将他们放入Redis中吧,使用时再反序列吧。同时建立读写分离的原则,我们主要将读放在了Redis里面,写到了Mysql,并通过Mysql的触发器实现服务器段数据的主从复制同步。 日志系统之前我们的单一系统的时候,比如只是简单的3层架构的话,我们通过Debug可以从头debug到数据库,每一步都是掌握在手底下,每一步都尽收眼底。可是对于这一个层次太深,组建调用较多,同时又是多线程的系统来说,挖到雷的机会,时间,成本都是要考虑的。于是有效的使用日志组件,有效的在代码中埋雷就显的尤为迫切和必要,能够更好的帮助我们找到问题所在。 组件式开发之前的简单分层系统我们通过Svn或其他的代码管理工具,每次提交都可以Merge看的到,但是当系统庞杂同时系统独立性很强的时候,分组建,分模块开发就显得很重要。因为不想浪费大家一起Merge的时间,我们习惯性每个人有自己的Branch每周2的时候提交代码,大家一起参与,这样减少了好多因为代码管理浪费的时间。 测试用例之前小的系统使用测试用例基本就是装B用的,本来小小的系统整套流程脑子一想就可以知道怎么做啦,为什么还要浪费时间。可是在这次开发中充分理解了测试用例的重要性。比如我需要你给我提供多台服务器的监控数据包括CPU信息,IO信息,NEt信息等等,但是你还没有想到怎么样去抓取虚拟信息,不能因为你的问题去影响其他人的进度的,最好的方式从使用者角度获知他希望使用什么样的数据,为其建立API,同时为API建立测试用例并保证测试稳定。而后期我有了监控虚机的方式之后我在建立对应的适配方法适配到对应的API上。 所以首先肯定要保证API的稳定,因为他之上的东西已经稳定了吗,你只好辛苦啦,有效的测试用例可以帮助我们更好的剥离项目逻辑与协调组件系统。 |