分布式消息队列 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漫游飞行_手机“飞行模式”为何没被淘汰?内行人坦言:其实是你不会用!

随着科技的不断创新,目前市面上出现的手机款式多种多样,品牌也非常多,有华为、苹果、三星和小米等等。手机的屏幕也是五花八门,有刘海屏、水滴全面屏等,这些屏幕之间都各有不同。而且手机的更新换代速度很快&#xff0…

multiselect多选下拉框

具体实现 <input type"hidden" id"q_dueDay" name"q_dueDay" value"${baseQueryBean.q_dueDay}">//这个为隐藏域后台直接使用这个为参数 <select id"example" name"example" multiple"multiple&qu…

序列元素IT面试题——判断合法出栈序列

本文纯属个人见解&#xff0c;是对前面学习的总结&#xff0c;如有描述不正确的地方还请高手指正~ 在技巧笔试口试上&#xff0c;我们常常会碰到这样一类题型&#xff0c;如给你一个入栈序列&#xff0c;然后再让你判断几个序列是否有可能为它的出栈序列&#xff0c;如&#xf…

scikit-learn点滴

scikit-learn点滴 scikit-learn是非常漂亮的一个机器学习库,在某些时候,使用这些库能够大量的节省你的时间,至少,我们用Python,应该是很难写出速度快如斯的代码的. scikit-learn官方出了一些文档,但是个人觉得,它的文档很多东西都没有讲清楚,它说算法原理的时候,只是描述一下,除…

background image

http://www.ajaxblender.com/bgstretcher-2-jquery-stretch-background-plugin-updated.html http://blog.dvxj.com/pandola/jQuery_bgStretcher.html 转载于:https://www.cnblogs.com/eebb/p/4077231.html

怎样搭建Android开发平台(转)

Android是基于Linux内核的软件平台和操作系统&#xff0c;是Google在2007年11月5日公布的手机系统平台&#xff0c;早期由Google开发&#xff0c;后由开放手机联盟&#xff08;Open Handset Alliance&#xff09;开发。 它采用了软件堆层&#xff08;software stack&#xff0c…

mvn deploy 推送到私有仓库,注意当前日期

由于更改了本机系统时间到过去的一个时间&#xff0c;导致mvn deploy推送到私有仓库后&#xff0c;该更新的jar包时间戳比较旧&#xff0c;客户端不能更新得到新的jar包。转载于:https://www.cnblogs.com/silva/p/6264458.html

我的世界1.7.10java32位_我的世界1.7.10中文版

不知道怎么下载&#xff1f;点我游戏介绍《我的世界1.7.10》中整个世界由各种方块构成&#xff0c;玩家可以破坏它们&#xff0c;也可以用自己的方块随意建造东西。为了在游戏里生存和发展&#xff0c;玩家需要通过伐木、挖矿、捕猎等方式获取资源&#xff0c;并通过合成系统打…

python程序在函数内执行得更快

http://www.cnblogs.com/nepaul/archive/2012/07/15/2592179.html 为什么Python程序在函数内执行得更快&#xff1f;&#xff08;来源StackOverflow&#xff09; 考虑下面的代码&#xff0c;一个在函数体内&#xff0c;一个是全局的代码。 函数内的代码执行效率为 1.8s 1234def…

USER_EXIT

1、md04的用戶出口 M61X0002 2、me21n/me22n的用戶出口 MM06E005 MBCF0002 3、migo 的用戶出口&#xff1a; MBCF0009 MBCF0002-> EXIT_SAPMM07M_001 4、co11n 的用户出口&#xff0c;发料不足不允许报工时 EXIT_SAPLCORF_104 查找用户出口的函数&#xff1a; MODX_FUNCTION…

subject.login(token)是如何确认账号密码的_教你如何删除、关闭、注销微信小程序...

微信小程序是我们日常生活中经常会接触到的工具&#xff0c;打开小程序后&#xff0c;它就会留在我们微信的”“发现-小程序”栏。很多人并不知道该如何删除、关闭小程序&#xff0c;所以今天就跟大家科普下相关问题。1.如何删除小程序首先&#xff0c;打开微信界面&#xff0c…

上海交通大学2006年数学分析考研试题

转载于:https://www.cnblogs.com/zhangzujin/p/4078900.html

saltstack 基础入门文档

saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。Salt 有两个主要的功能&#xff1a;配置管理和远程执行。这里讲述了saltstack的基本使用方法。 saltstack 简述 Salt 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装…

出现的是乱码_cad状态栏出现了方框乱码怎么办?

左下角阅读原文看CAD视频好课推荐&#xff1a;1、CAD2014&#xff1a;点击查看 2、室内&全屋&#xff1a;点击查看 3、CAD2019&#xff1a;点击查看4、CAD2018&#xff1a;点击查看5、Bim教程&#xff1a;点击查看6、室内手绘&#xff1a;点击查看7、CAD三维&#xff1a;点…

UILabel 详解

UILabel 多行文字自动换行 &#xff08;自动折行&#xff09;1.UIView *footerView [[UIView alloc] initWithFrame:CGRectMake(10, 100, 300, 180)]; 2. UILabel *label [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)]; 3. label.text "…

mysql创建数据库指定字符集

mysql 创建 数据库时指定编码很重要&#xff0c;很多开发者都使用了默认编码&#xff0c;但是我使用的经验来看&#xff0c;制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。 我们遵循的标准是&#xff0c;数据库&#xff0c;表&#xff0c;字段和页面或文本的编码…

onclick实现超链接_给超链接加onclick事件

在动态网页中&#xff0c;常常需要在单击超链接时处理一些数据&#xff0c;而不是跳转一个网页。在这种情况下&#xff0c;通常有以下三种处理方式&#xff1a;不设置标签的href属性&#xff0c;只设置onclick属性。在这种处理方式下&#xff0c;通常超链接文本会和正文的文本以…

Android 布局以及优化资料汇总

2019独角兽企业重金招聘Python工程师标准>>> 1.性能优化之布局优化 2.Android 开源库 V - Layout 转载于:https://my.oschina.net/zhugenqiang/blog/822942

AS3容易被忽略的一些特性

1.给sprite设置背景色 给sprite设置背景色&#xff0c;spr.opaqueBackground 0xFFCC33, 在尺寸变化的时候自动重绘背景。需要注意的是背景不能接受鼠标事件&#xff0c;接受鼠标事件的话&#xff0c;需要用graphics绘制背景。 2.在ByteArray里writeUTF("中方汉字")&…

每天一个JavaScript实例-canvas绘图

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /> <title>每天一个JavaScript实例-canvas绘图</title> <style>.canvas{width:600px;height:500px;} </s…