非常讨厌大而全

有一段时间,我的状态一直是“非常讨厌大而全”,列举几个例子.

 

做数据库拆分方案的时候,一张很大的表,要在线使用的用户数据,我们要拆分出来,放到n个小数据库里去。

这时候就有人问了:那你们事务怎么做啊,不同数据库之间怎么保证一致性啊。

我就说:不同数据库之间我们不在这里考虑事务的问题,需要应用去考虑,我们这里解决的是超大数据量的问题。

曰:ACID都不行,那这个方案不行啊~~

 

ACID是小家子气,单机的时候,我们强调的东西了。在高并发,大数据量,分布式的环境下,我们只能CAP,而且还只能做到其中两点,我们一般会选择可用性和分区,详细的论证可以参考程立的一篇分享大规模SOA系统中的分布式事务处理,哎,要是一致性、可用性、分区全部能完美的做到的话,我还待这里干嘛呢?

 

学习面向对象的时候,我们知道“只做一件事情”,在一个类里,只做一件事情,在一个模块里,只完成一个功能,同样,我们设计一个类库,或者一个产品,应该也需要有最核心的一个价值所在。但是,我们经常在设计一个系统的时候,会逐渐逐渐的偏离原来的方向,为什么?每一次添加需求,添加功能的时候都觉得挺合理的啊,为啥过了一段时间再来看整个系统就觉得不是那么一回事情了呢?我认为是在添加需求的时候,没有把好关,要添加的东西是我确实需要的么?还是可有可无的?是必须要有的么,还是锦上添花的?我总觉得锦上添花的事情不做也罢,还有好多人在雪中等着我们去送炭呢?先做最重要的事情不吧,分清优先级很重要。

 

现在有些人在做设计的时候经常想的很美好,很长远,挺好的,有长远的规划是挺好的,但是实际操作起来就不应该大而全的做,应该向敏捷学习,一点一点的做,经常release。

 

工作中也是,经常是挺好的一个想法,结果为了求全,结果做的四不象,需要的东西做得不够好,暂时不需要的东西,做了一点,集中精力做好需要的东西不是挺好的么?干嘛要大而全呢?

 

补充:犯了一个错误,CAP的P是Partition而不是 Persistence,感谢指正。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值