码迷,mamicode.com
首页 > 其他好文 > 详细

后端服务开发总结

时间:2015-11-23 13:07:12      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:

最近半年一直做分布式系统开发,刚刚开发完成一个小型分布式系统,现总结一下分布式系统设计的经验。

1. 能不做分布式就不用分布式

    分布式系统带来很多数据同步、数据不一致、数据延迟等问题。网络链接是不可靠的,分布式系统过于依赖RPC,对同一机房内部问题还不大,如果出现跨机房问题数据的不一致问题就比较突出。我们现在一般采用链接中断重连,重要消息必须应答,消息没有确认重新发送等手段一定程度上减少不一致出现的概率。但重根本上解决问题还是产品设计过程中尽量减少跨机房业务。

2. 选择合适的消息中间件

    消息中间件有很多,甚至不用也可以实现消息的传递。每个消息中间件有各自的优缺点与适用范围,使用不当可能会有很多坑。我现在的项目就用到了MQ与netty,他们的优缺点可以看我另一篇文章。

3. 尽量做成无状态的应用

    应用设计之初就应考虑是否可能采用复杂均衡,如果很有可能就设计成无状态的,这样可以具有很好的横向扩展能力。一开始我们的服务器是有状态的,负载均衡做不了,只能拆分,把有状态的提取出来做成服务,才上了负载均衡,代价较大。

4. 合理使用缓存

    缓存可以是提高性能最快捷的方法。我们的搜索服务全部在缓存中完成,这样数据库压力很小,但数据库更新要同时更新缓存,增加了开发难度。所以缓存是个好东西但不可滥用,如果数据不那么多就可以直接用SQL进行搜索,简单而可靠。

5. 测试驱动开发

    不要对自己的逻辑过于自信,没有经过测试的代码都是不可靠的。很多开发人员写完之后就直接上传代码,后来才发现bug。我觉得代码写的烂还不是大问题,只要认真测试至少可以保证业务及时上线。不做测试的人坚决不能要!

6. 初级工程师的代码一定要评审

   刚开始我们团队代码没有评审环节,对初级工程师代码控制不够。后来采用gerrit使代码提交者强行参与评审才使得问题得到控制

后端服务开发总结

标签:

原文地址:http://www.cnblogs.com/xingjunli/p/4987775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!