闲话淘宝网和新浪微博架构

如今分布式系统在国内已经不是新鲜事,NoSQL之花遍地开,我08年就诅咒的关系数据库虽然僵而不死,但其已经威力和影响力已经日渐式微,至少没有完全占据新兴需求市场。

淘宝网和新浪微博我都有使用,虽然深知其中架构之路坎坷,但今天写这个闲话不是夸耀追捧,而是作为一个懂行的使用者如何从用户体验角度来感知其技术架构特点:

淘宝网和新浪微博两个有明显极端:前者比较注重数据的及时更新,也就是高一致性,写入提交很快,但是读取数据时会丢丢拉拉;后者则相反,读取相当快,但是提交微博或评论等写入动作时却经常停顿延迟甚至失效。

从业务上讲,淘宝网确实是电子商务系统,和钱打交道比较多,好像这很符合关系数据库的高一致性要求,实际上,如果对业务进行细分,电子商务系统中高一致性要求范围比较小,按照ebay架构来看,约占据10%不到。如果不对自己的业务应用进行领域量化切分,会将高一致性扩大化,造成的表现就是写数据很快,读数据慢甚至无反应。

而新浪微博则是一个社区系统,根据其业务模型,好像几乎不需要高一致性,但是如果也不对业务进行领域切分,那么一致性将会丢失,甚至影响可靠性,微博用户可以忍受读不到数据,但是不能忍受无法写入数据,甚至提交微博时要再三确认,虽然一条废话没有存钱那么重要,但是要让用户自己去确认是否写人,这样用户体验真的很差。

总之,技术架构是一种平衡,只有对业务进行细腻的领域切分,才能真正做到有的放矢,技术架构还要摆脱自己屁股的影响,特别是过去的丰富关系数据库经验会培养人一种没有意识到惯性思维,从而让自己的脑袋无法真正做到平衡决策。

最后,衷心希望两家先驱者能够更上一层楼,利用良好宽松的资本环境,将业务分析方法引入技术架构,没有通用架构,只有合适的架构,合适与否取决于你对业务模型的透彻认识。

转载自:http://www.jdon.com/jivejdon/thread/42376

相关推荐