==============================================================
场景:
报表任务:不是实时报表,数据需要加工,不是实时数据,是历史数据(离线数据)
推荐系统:要求实时
自己目前对于实时系统的知识不是太多,开发场景也比较少,所以仅仅是为了学习
==============================================================
分布式系统:一个系统多套部署,多套存储,多套缓存,多套数据库(RDBMS,NoSQL)----就是所谓的集群系统,负荷量比较大
非分布式系统:仅仅不是在一台服务器一个数据库一个缓存服务器
为了系统的高可用,可以借鉴数据库系统设计的思想,使其具有事务机制(重试机制,提交机制,跳跃机制,恢复机制)
管理器:就是对所属资源进行分配,调度,是软件设计中模拟显示世界的一种思想(Tracker,mannager,Lanuch,Worker,Context)
==============================================================
批处理:累计采集业务数据,达到一定数量之后统一进行处理。比如报表数据,每个月对当月的数据进行统计 --定时任务或者批处理框架(Spring batch) Hadoop
实时处理:数据一旦产生即可处理 ---可以借助消息队列Queue(监听机制,订阅机制) Storm
注意:都是针对数据量特别大的场景
但是对于分布式处理可能有有点麻烦,所以出现了一些框架:hadoop,Storm等
一般实时处理都采用事件机制(CEP)
==============================================================
hadoop:比较火的一个词,一个分布式批处理框架
storm: 最近的一个实时处理框架
==============================================================
串并转换的思想或者分治的思想:
拆分异步执行,合并串行执行
==============================================================
一下基本都是分布式的场景:
实时处理:storm
离线处理:hadoop
日志监控:flume
==============================================================