豆瓣的基础架构读后感
BeansDB主要的特点是支持海量KV数据库——相比Redis这种支持几十个G到几百个G的 内存KV数据库,BeansDB可以支持到上百T的数据。另外BeansDB最大的好处就是运维很简单,性能、可用性、扩容都很好,也实现了最终一致性。
跟豆瓣其他工程团队一样,平台部也强制大家做code review。这对于核心系统来说很重要的一点在于,code review是一个知识共享的过程:我们人少项目多,所以很多项目都是一个人做主力,很容易就变成其他人不知道你这个项目具体是什么情况,而强制code review就可以实现一种公开透明的状态,让大家都了解每个项目在做什么。
对于这一点,我就深有体会了,虽然我还没步入到社会中正式的开发,但是通过所做过的大作业、参加比赛之类发现,很多时候做项目如果没有事前的体制就很容易变成一个为主力,即使事前已经做好了分工也不行,因为在真正开发项目的时候,一个人容易担起大部分的东西,减少了劳动力的利用率,比如:最开始,一个人做前端,一个人做后端,很多时候做前端的人或做后端的人容易把整个流程给担起来,这就是最开始大家缺乏交流,导致在开发的过程有哪些变更都不是很了解,每个人都太有想法,又或是在组织的时候,另一个人往往要把不是自己任务的功能给弄透,又相当于花了相似的时间干了这件事,这就极大地降低了开发效率,可能开发质量也不好,一个团队的灵魂碰撞往往变成了一个人的奇思妙想。
这写就是我在开发项目的时候的个人体会了,虽然踩过很多坑,但终究对自己是一种磨练,软件开发是一门很深的学问,对于团队,交流沟通很重要,它往往决定了一个项目的质量和未来。