云上的卡夫卡
从是否正确出发,而不是从能否接受出发。 Start with what is right rather than what is acceptable. 弗兰兹·卡夫卡 1、背景 假设你意气风发,要开发新一代的互联网应用,以期在互联网事业中一展宏图。借助云计算,很容易开发出如下原型系统: Web应用:部署在云服务器上,为个人电脑或者移动用户提供的访问体验。 SQL数据库:为Web应用提供数据持久化以及数据查询。 这套架构简洁而高效,很快便能够部署到百度云等云计算平台,以便快速推向市场。互联网不就是讲究小步快跑嘛! 好景不长。随着用户的迅速增长,所有的访问都直接通过SQL数据库使得它不堪重负,不得不加上缓存服务以降低SQL数据库的荷载;为了理解用户行为,开始收集日志并保存到Hadoop上离线处理,同时把日志放在全文检索系统中以便快速定位问题;由于需要给投资方看业务状况,也需要把数据汇总到数据仓库中以便提供交互式报表。此时的系统的架构已经盘根错节了,考虑将来还会加入实时模块以及外部数据交互,真是痛并快乐着…… 这时候,应该跑慢一些,让灵魂跟上来。 本质上,这是一个数据集成问题。没有任何一个...