Kafka

实时数据仓及实时平台架构详解

泄露秘密 提交于 2020-11-29 00:43:06
随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要, 商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。此外,随着 5G 技术的成熟、广泛应用, 对于工业互联网、物联网等数据时效性要求非常高的行业,企业就更需要一套完整成熟的实时数据体系来提高自身的行业竞争力。 本文从上述现状及实时数据需求出发,结合工业界案例、笔者的实时数据开发经验, 梳理总结了实时数据体系建设的总体方案,本文主要分为三个部分: 第一部分主要介绍了当下在工业界比较火热的实时计算引擎 Flink 在实时数据体系建设过程中主要的应用场景及对应解决方案; 第二部分从实时数据体系架构、实时数据模型分层、实时数据体系建设方式、流批一体实时数据架构发展等四个方面思考了实时数据体系的建设方案; 第三部分则以一个具体案例介绍如何使用 Flink SQL 完成实时数据统计类需求。 一、Flink 实时应用场景 目前看来,Flink 在实时计算领域内的主要应用场景主要可分为四类场景, 分别是实时数据同步、流式 ETL、实时数据分析和复杂事件处理,具体的业务场景和对应的解决方案可详细研究下图, 文字层面不再详述。 二、实时数据体系架构 实时数据体系大致分为三类场景:流量类、业务类和特征类,这三种场景各有不同。 在数据模型上,流量类是扁平化的宽表

刨根问底,Kafka 消息中间件到底会不会丢消息

我怕爱的太早我们不能终老 提交于 2020-11-28 01:49:02
大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。 为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。 认识Kafka 看一下维基百科的定义 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。 Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 kafka架构 Kafka的整体架构非常简单,是显式分布式架构,主要由producer、broker(kafka)和consumer组成。 Kafka架构(精简版) Producer (生产者)可以将数据发布到所选择的topic(主题)中。生产者负责将记录分配到topic的哪一个 partition(分区)中。可以使用循环的方式来简单地实现负载均衡,也可以根据某些语义分区函数(如记录中的key)来完成。 Consumer (消费者)使用一个consumer group(消费组)名称来进行标识,发布到topic中的每条记录被分配给订阅消费组中的一个消费者实例。消费者实例可以分布在多个进程中或者多个机器上。 Kafka到底会不会丢失消息? 在讨论kafka是否丢消息前先来了解一下什么是

刨根问底,Kafka消息中间件到底会不会丢消息

大憨熊 提交于 2020-11-27 20:54:40
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨雷架 来源丨爱笑的架构师 大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。 为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。 认识Kafka 看一下维基百科的定义 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。 Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 kafka架构 Kafka的整体架构非常简单,是显式分布式架构,主要由producer、broker(kafka)和consumer组成。 Kafka架构(精简版) Producer (生产者)可以将数据发布到所选择的topic(主题)中。生产者负责将记录分配到topic的哪一个 partition(分区)中。可以使用循环的方式来简单地实现负载均衡,也可以根据某些语义分区函数(如记录中的key)来完成。 Consumer (消费者)使用一个consumer group(消费组)名称来进行标识

这是什么神仙资料啊!腾讯T4-1架构师告诉你啃烂这套“核心知识”+“高级面试”,,轻松年薪50W

旧城冷巷雨未停 提交于 2020-11-27 12:21:40
01 JVM 1.1 核心知识之JVM 核心知识之JVM 1.2 高级面试之JVM 高级面试之JVM 由于篇幅限制,仅展示了部分目录哦,需要的获取这份资料的朋友,一键三连后添加小助理获取哦 02 Java集合 2.1 核心知识之Java集合 核心知识之Java集合 2.2 高级面试之Java集合 高级面试之Java集合 03 Java多线程并发 3.1 核心知识之Java多线程并发 核心知识之Java多线程并发 3.2 高级面试之Java多线程并发 高级面试之Java多线程并发 04 Java基础 4.1 核心知识之Java基础 4.2 高级面试之Java基础 高级面试之Java基础 05 Spring原理 5.1 核心知识之Spring原理 核心知识之Spring原理 5.2 高级面试之Spring原理 高级面试之Spring原理 06 微服务 6.1 核心知识之微服务 核心知识之微服务 6.2 高级面试之微服务 高级面试之微服务 07 Netty与RPC 7.1 核心知识之Netty与RPC 核心知识之Neety与RPC 08 网络 8.1 核心知识之网络 核心知识之网络 09 日志 9.1 核心知识之日志 核心知识之日志 10 ZooKeeper 10.1 核心知识之ZooKeeper 核心知识之ZooKeeper 10.2 高级面试之ZooKeeper

redis为何单线程 效率还这么高 为何使用跳表不使用B+树做索引(阿里)

丶灬走出姿态 提交于 2020-11-26 03:56:04
如果想了解 redis 与Memcache的区别参考: Redis和Memcache的区别总结 阿里的面试官问问我为何redis 使用跳表做索引,却不是用B+树做索引 因为B+树的原理是 叶子节点存储数据,非叶子节点存储索引,B+树的每个节点可以存储多个关键字,它将节点大小设置为磁盘页的大小,充分利用了磁盘预读的功能。每次读取磁盘页时就会读取一整个节点,每个叶子节点还有指向前后节点的指针,为的是最大限度的降低磁盘的IO;因为数据在内存中读取耗费的时间是从磁盘的IO读取的百万分之一 而Redis是 内存中读取数据,不涉及IO,因此使用了跳表; 至于redis的跳表原理 参考: 聊聊Mysql索引和redis跳表 ---redis的有序集合zset数据结构底层采用了跳表原理 时间复杂度O(logn)(阿里) mysql的B+索引原理 参考: 一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试) Kafka索引 参考: kafka如何实现高并发存储-如何找到一条需要消费的数据(阿里) 接下来问题来了:为何 redis使用单线程 读取速度还这么块呢 今天下午,烟哥吃饱了撑着没事干,上班时间到处工(zhuang)作(bi)!只见同事小刘的桌上摆了一本Redis相关的书籍,内心嘿嘿一笑:“终于,又有机会勾搭小刘了!” 于是有了如下对话 "嗯,不要方,跟着我思路来想!"烟哥道。

Kuma 1.0 GA发布,70多项新功能和改进

一笑奈何 提交于 2020-11-25 14:49:33
喜欢就关注我们吧! Kuma 1.0 GA 现已发布,包含了 70 多种新功能和改进。Kuma 是一个现代的通用服务网格控制平面,基于 Envoy 搭建,Envoy 是一个为云原生应用设计的强大的代理软件。 Kuma 高效的数据平面和先进的控制平面,极大地降低了各团队使用的难度,可以在包括 Kubernetes、虚拟机、容器、裸机和传统环境在内的任意平台上运行,以落实整个组织中的云原生体验。 此版本主要更新内容包括有: 多区域 自动生成“区域”资源,简化了多区域部署。 本地感知的负载平衡可减少多区域延迟并降低出口成本。 通过新的 "Ingress"DP 类型将入口数据平面代理自动同步到全局 CP。 Services & Policies 增加了对显式外部服务的支持。 增加了对新的“服务”资源的支持,该资源将每个“kuma.io/service”分组为多个数据平面代理。 添加了对 Kafka 协议的支持。 “网格”资源中的可配置 pass-through 控制功能。 性能 在关键任务 SLA-enforced 的企业环境中进行了生产中的实战测试。 在 Kuma 中运行成千上万的服务时,整体性能有了显着提高(〜5 倍)。 资源内部缓存的改进,以更好地支持高数据平面代理负载。 使用大量资源运行时,提高了 CLI 和 GUI 的总体可伸缩性。 安全

kafka集群跨双网段及多网段通信问题解决

自古美人都是妖i 提交于 2020-11-25 07:13:07
一、问题场景: 实际生产环境总存在很多kafka集群跨网段的问题。kafka集群可能存在多个网卡,对应多个网段。不同网段之间需要同时与集群通信,即跨网段生产消费问题。 二、解决方法:自定义listeners及protocol 步骤: 1、在listeners中新加一个LIS,指向目标网段的本机IP,多个listener之间逗号分隔 2、在advertised.listeners中也注册上面的IP 3、在listener.security.protocol.map中注册该监听使用的协议,PLAINTEXT表示普通文本,即不使用SSL加密等。 4、如需跨多网段监听,即按照以上步骤添加多个listener即可 注意: 1、listener名称是自定义的,没有固定的!!! 2、不同的listener使用不同的端口号!!! 三、吹牛时间 在本文出现之前,中文互联网上google到过其他能具体解决的方法,如监听地址配置0.0.0.0等方法,实际上并没能解决。错误示范如下: 后来苦读kafka官方文档,终于找到了具体解决方法。后来又有网友来咨询我,完美解决了他的问题 。。。 可把我牛逼坏了 如果解决了你的问题,请点赞评论关注,欢迎交流~ 来源: oschina 链接: https://my.oschina.net/u/4401366/blog/3292701

Kafka集群监控系统Kafka Eagle部署与体验

一笑奈何 提交于 2020-11-25 00:26:15
Kafka Eagle是一款开源的Kafka集群监控系统 能够实现broker级常见的JMX监控; 能对consumer消费进度进行监控; 能在页面上直接对多个集群进行管理; 安装方式简单,二进制包解压即用; 可以配置告警(钉钉、微信、email均可) 1、下载kafka eagle 下载地址http://download.kafka-eagle.org/ https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v2.0.1 2、解压kafka eagle tar -zxvf kafka-eagle-bin-2.0.1.tar.gz cd kafka-eagle-bin-2.0.1/ tar -zxvf kafka-eagle-web-2.0.1-bin.tar.gz -C /opt cd /opt mv kafka-eagle-web-2.0.1/ kafka-eagle cd kafka-eagle 3、修改/etc/profile vi /etc/profile 1)export KE_HOME=/opt/kafka-eagle 2)PATH要添加$KE_HOME/bin vi /etc/profile #在最下方进行修改 export JAVA_HOME=/usr/java/jdk1.8.0_251

kafka与rocketmq不同

筅森魡賤 提交于 2020-11-24 19:26:04
1、结构不一样   kafka broker:topic+partition rocketmq broker:topic+queue   kafka 注册中心:zookeeper rocketmq 注册中心:nameserver 2、消费   kafka中同一个consumergroup下消费实例无法广播消费,rocketmq可以实现广播消费   kafka如果实现广播,只要每个consumer有一个独立的group即可 3、吞吐量   kafka>rocketmq   kafka在消息存储时根据topic+partition数量创建物理文件,也就是说我们创建一个topic并指定了3个partition,那么就会有3个物理文件目录,也就说说partition的数量和对应的物理文件是一一对应的。   rocketmq消息实际上是存储在commitlog中的,consumequeue存储消息索引。   kafka多文件并发写入,而rocketmq是单文件写入,显然kafka吞吐量更大 4、nameserver VS zookeeper   kafka具备选举功能,当master挂掉会选举slave为master   rocketmq如果master挂掉,slave不会变为master;原本发送到该broker改为发送到另外broker上 来源: oschina 链接: https:/

2020大数据面试题真题总结(附答案)

怎甘沉沦 提交于 2020-11-24 15:57:03
版本 更新时间 更新内容 v1.0 2020-07-01 新建 v1.1 2020-06-13 朋友面试大数据工程师提供的关于架构及数仓方面的题目 v1.2 2020-08-08 朋友面试数据专家提供的数据驱动,spark及flink方面面试题 v1.3 2020-08-22 朋友面试数据开发提供的关于hive及数仓方面的题目 一.Hadoop 1.hdfs写流程 2.hdfs读流程 3.hdfs的体系结构 4.一个datanode 宕机,怎么一个流程恢复 5.hadoop 的 namenode 宕机,怎么解决 6.namenode对元数据的管理 7.元数据的checkpoint 8.yarn资源调度流程 9.hadoop中combiner和partition的作用 10.用mapreduce怎么处理数据倾斜问题? 11.shuffle 阶段,你怎么理解的 12.Mapreduce 的 map 数量 和 reduce 数量是由什么决定的 ,怎么配置 13.MapReduce优化经验 14.分别举例什么情况要使用 combiner,什么情况不使用? 15.MR运行流程解析 16.简单描述一下HDFS的系统架构,怎么保证数据安全? 17.在通过客户端向hdfs中写数据的时候,如果某一台机器宕机了,会怎么处理 18.Hadoop优化有哪些方面 19.大量数据求topN