分布式消息队列 Kafka
分布式消息队列 Kafka
Kafka是一个高吞吐量的、分布式的消息系统,由Linkedin开发,开发语言为scala
具有高吞吐、可扩展、分布式等特点
适用场景
活动数据统计
活动数据包括页面访问量(Page View)、被查看内容方面的信息、搜索情况等内容
先以日志的形式存储,然后周期性地对这些文件进行统计分析
运营数据统计
收集服务器的性能数据(CPU、内存、IO使用率 ……),之后进行统计
Linkedin就是基于这类需求开发出了Kafka,所以kafka最适合的场景为:
一个日志集群,各种服务器将它们自身的日志发送到集群中进行统一汇总和存储,然后其它机器从集群中拉取消息进行分析处理,数据挖掘
整体架构
kafka体系包括以下部分:
(1)生产者 Producer
(2)broker集群
(3)话题 Topic(可以理解为queue)
(4)消费者 Consumer
(5)Zookeeper集群
可以在Kafka中创建多个Topic,Producer向Topic中发送消息,Consumer从Topic中获取消息
为了高效的读写消息,topic都被切分为多个分区partition,放入不同的broker中
topic的partition类似于数据库的分表,可以根据消息的key进行分区
例如key为userid,可以根据userid进行分组,把不同userid段的消息放入不同的partition,提高读写性能
为了保证高可用性,每个partition都有多个备份,分别保存在不同的broker中
其中有一个partition为leader,负责读写,其余的为slave,当leader失效时,会从slave中再选举出一个leader
每个partition也不是一个独立的文件,被分为了多个片段segment
Kafka通过Zookeeper管理集群配置,选举leader
应用示例
需求
监控用户交易行为,当交易金额过大时,标识出异常
实现
转载于:https://www.cnblogs.com/jun1019/p/6260580.html
分布式消息队列 Kafka相关推荐
- 【中间件】大数据之分布式消息队列Kafka
目录 Kafka设计动机 Kafka特点 Kafka设计架构 基本架构 Kafka各组件详解 Kafka关键技术点 典型应用场景 在大数据数据收集环节,需要构建数据流水线,其中一种方式可以 ...
- 基于Docker搭建分布式消息队列Kafka
本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...
- 分布式消息队列kafka
文章目录 前言 什么是Kafka? Kafka的特性 Kafka的意义 Kafka工作原理 kafka架构介绍 Producer Broker Consumer Patition Zookeeper ...
- 消息队列系列之分布式消息队列Kafka
介绍 ApacheKafka®是一个分布式流媒体平台.这到底是什么意思呢? 我们认为流媒体平台具有三个关键功能: 它可以让你发布和订阅记录流.在这方面,它类似于消息队列或企业消息传递系统. 它允许 ...
- 分布式消息队列Kafka集群安装
kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ.在这片博文中,作者简单提 ...
- Kafka 分布式消息队列介绍
Kafka 分布式消息队列 类似产品有JBoss.MQ 一.由Linkedln 开源,使用scala开发,有如下几个特点: (1)高吞吐 (2)分布式 (3)支持多语言客户端 (C++.Java) 二 ...
- 分布式消息队列 NSQ 和 Kafka 对比
谈谈分布式消息队列的一些特性,比较两种比较常用的消息队列--NSQ和Kafka 1 消息队列的作用 解耦,将一个流程加入一层数据接口拆分成两个部分,上游专注通知,下游专注处理 缓冲,应对流量的突然上涨 ...
- 基于 Kafka 和 ZooKeeper 的分布式消息队列原理
转载:https://gitbook.cn/books/5bc446269a9adf54c7ccb8bc/index.html 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 ...
- 再谈基于 Kafka 和 ZooKeeper 的分布式消息队列原理
关于分布式消息队列,我在几个月前写过一篇文章:<深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列 >.最近,由于写作课程<分布式中间件实践之路>的契机,我 ...
最新文章
- 学习动态性能表 第二篇--v$sesstat
- 【网络安全】如何搭建MySQL恶意服务器读取文件?
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
- ios开发text kit_IOS开发入门之TextKit详解
- java 创建web项目_java – Eclipse:以编程方式创建动态Web项目
- OpenCV修养(三)——图像处理(上)
- Futureswap公布代币分配时间表,在未来3年向用户分配3000万枚FST代币
- testng 组_TestNG组
- 交叉验证与训练集、验证集、测试集
- Exynos4412 OV5640摄像头(一)—— 驱动
- 手机上微信总是说无法连接服务器错误代码,微信登录失败怎么办|微信登录失败常见提示及处理方法...
- Start Developing iOS Apps (Swift) 中文翻译版
- 奶酪巫师的黑客乐园 - 第一个进行硬分叉的区块链游戏?
- confluence7安全补丁_Confluence 7 伴随程序的安装
- 骑行318、 2016.7.29
- Desktop Goose for Mac(抖音网红桌面宠物鹅)最新版
- origin绘图软件中文版下载安装教程
- STM32—OLED显示屏
- 前端三剑客 Html Css JavaScript
- 微信企业支付发送到零钱