为什么说,MapReduce,颠覆了互联网分层架构的本质?
为什么说,MapReduce系统架构,颠覆了互联网分层架构的本质? 下图是一个典型的,互联网分层架构:客户端层:典型调用方是浏览器browser或者手机APP 站点应用层:实现核心业务逻辑,从下游获取数据,对上游返回html或者json 服务层:业务服务,数据服务,基础服务,对上游提供友好的RPC接口 数据缓存层:缓存加速访问存储 数据固化层:数据库固化数据存储 同一个层次的内部,例如端上的APP,以及web-server,也都会进行MVC分层:view层:展现 control层:逻辑 model层:数据 工程师骨子里,都潜移默化的实施着分层架构设计。 互联网分层架构的本质究竟是什么呢? 如果我们仔细思考会发现,不管是跨进程的分层架构,还是进程内的MVC分层,都是一个“数据移动”,然后“被处理”和“被呈现”的过程。如上图所示: 数据处理和呈现,需要CPU计算,而CPU是固定不动的: db/service/web-server都部署在固定的集群上 端上,不管是browser还是APP,也有固定的CPU处理 而数据是移动的: 跨进程的:数据从数据库和缓存里,转移到service层,到web...