腾讯、TalkingData推荐学习分布式实时计算框架:原理及实
本篇主要参考当前主流分布式实时计算框架Storm的任务分发和Spark Streaming的Mini-Batch设计思想,以及底层实现技术,开源了作者自研的轻量级分布式实时计算框架一Light_ drtc, 并且重点介绍设计思想和相关实现技术(Kafka/RabbitMQ、Redis/SSDB、GuavaCache、MongoDB、HBase、ES / Solr、Thrift、 Avro、Jetty),最后从工程角度向大家介绍完整的个性化推荐系统,并实例介绍light_ _drtc 在用户画像实时更新的应用。
本篇描述浅显易懂,希望读者理解分布式实时计算的实现原理,并快速上手解决实际问题。
全篇总共9章的内容,由于细节内容太多了,所以小编把部分知识点截图出来粗略的介绍,每个小节点里面有更加细化的内容。
第1章,分布式实时计算框架介绍,
目前分布式计算框架以大名鼎鼎的Hadoop Map/Reduce. Spark Streaming和Storm为代表,可以说Hadoop奠定了最近10年来开源分布式计算框架的基石。
第2章,light_ _drtc 简介及使用说明,
本章主要向读者介绍作者本人所独立研发的一一套轻量级分布式实时计算框架light. drte, 重点介绍light. drte 框架的基本组织结构和使用说明,让有开发经验的读者朋友快速上手搭建-一个属于自 己的分布式实时计算平台。下章将会给大家介绍light. drte 框架的设计思想。技术架构,以及核心技术实现等。
第3章,light_ drtc 核心技术实现,
前一章主要对light drtc框架进行初步介绍,让读者朋友先有个直观印象,本章接续前章将重点对框架设计原理、技术架构及核心模块实现方面进行介绍,希望读者对light. drte 有更深刻的认识。
第4章,消息队列MQ
消息队列(Message Queue, MQ)技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读取走。通过消息队列,应用程序可独立地执行,它们不需要知道彼此的位置,或在继续执行前不需要等待接收程序接收此消息。下面就从MQ用途、原理、当前知名开源MQ的使用加以说明。
第5章,内存数据库Redis3.0及SSDB
内存数据库,顾名思义就是将数据放在内存中直接操作的数据库,它从根本上抛弃了磁盘数据管理的许多传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度-一般 比传统数据库的数据处理速度快很多,-一般都会快10 倍以上。内存数据库从范型上可以分为关系型内存数据库和键值型内存数据库。在实际应用中内存数据库主要配合关系数据库使用,关注性能,并不注重数据完整性和数据一致性。 基于键值型的内存数据库比关系型更加易于使用,性能和可扩展性更好,因此在应用上比关系型的内存数据库使用更多。本章也主要向大家介绍键值型内存数据库代表Reids及SSDB。
第6章,NoSQL: MongoDB3.0和HBase1.0
MongoDB是2007年起由10gen公司进行改良并在2009年成为拥有AGPL许可的开源项目。MongoDB将自身定位为一个开源的.易于扩展的文档型数据库。每条记录实际上都是以-一个文档存在于MongoDB中的,文档以JSON格式,二进制JSON (BSN)存储在MongoDB中,BSON 文档是包含所存元素有序列表的对象,每条元素都由-一个字段 名和一个特定类型的值组成。Mongo3.0 在性能、压缩及运维层面都有极大提升。
HBasc-- Hadoop Database, 始于Apache Hadoop一个子项目,大约在2007年随同Hadoop -起发布,三年后, HBase成为一个独立的Apache顶级项目。HBase是一个高可靠性、高性能、面向列、可伸缩的开源分布式NoSQL数据库,它源于Fay Chang所撰写的Google论文"Bigtable (一个结构化数据的分布式存储系统)”的设计思想。HBase 构建在Hadoop基础设施之.上,用户使用它能够在廉价PC Server.上搭建起大规模结构化存储集群。经过了七年的研发, HBase1.0版正式发布,这次发布提供了一些 令人兴奋的特性和并未牺牲稳定性的新API,且保持向后兼容。
第7章,全文检索: ElasticSearch2.x
谈到搜索(即全文检索),目前基于Java语言最为著名的开源项目无非是基于Lucene基础之上的Solr/SolrCloud和Elasticsearch (简称ES),二者可以说是目前Apache旗下炙手可热的顶级开源项目,目前发展都非常迅速,本章向读者介绍二者,重点向大家介绍ES.
第8章,微服务架构通信
RPC和Web Service微服务架构模式(Microservice Architect Pattem)近几年在软件架构模式领域广为流行。微服务间的通信就是IPC (inter process communication),已有很多成熟方案,现在通用的技实现方式主要有两种:异步消息调用和同步调用,其中异步消息调用,第4章已经专门介绍,这里主要向读者朋友介绍同步调用,同步调用当前又主要分为两种模式:
1) RPC (Thrift、 Avro、 Dubbo、 GRPC、 Zero-ICE), 传输协议高效,安全可控,特别在公司内部,如果有统- -的开发规范及服务框架,其开发效率优势更明显些。当前众多RPC框架,本身支持常用的各种开发语言,跨语言开发不是问题。
2) REST (JWS、 Jetty. SpringMVC),-一般基于HTTP的Web Service,更容易实现、被接受,服务端实现技术也更灵活些,各个语言都能支持,对客户端没有特殊的
第9章,综合实例:新闻推荐中的
用户画像近实时更新前面章节陆续给读者介绍了当前大数据环境下,分布式实时计算各环节中常用的各个组件技术,本章将会以新闻个性化推荐中用户画像实时更新为例,向读者进一步详细介绍如何将前述的各个相关组件整合在一起,从而完成-一个具体的业务需求。本章作者以自己多年实践经验向读者介绍当前主流个性化推荐系统架构的组成部分,然后向读者详细介绍实例设计及核心开发。
因文章篇幅限制,小编在这里就不做过多的介绍了。需要本【分布式实时计算框架:原理及实践案例】技术文档的小伙伴,就可以转发此文关注小编,,++++++V X ①⑧①③③⑤③②⑨⑦ 就可以获取了!