专栏首页性能与架构分布式消息队列 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

应用示例

需求 监控用户交易行为,当交易金额过大时,标识出异常 实现

本文分享自微信公众号 - 性能与架构(yogoup),作者:杜亦舒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-02-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kafka 是否可以用做长期数据存储?

    问题 “把 Kafka 作为长期存储有问题吗?” 这是一个非常常见的问题,我们知道,Kafka 是这样存储日志记录的 ? 答案是“可以”,只要把数据保留时间设置...

    dys
  • Kafka是否适合我们?

    dys
  • iptables示例:限制来自某一IP的并发访问

    下面模拟一个iptables的应用场景 场景描述 有两台机器 A 和 B A 上运行WEB服务,B 向 A 发送大量请求 A 想限制 B 的并发数量,通过 ip...

    dys
  • 消息队列探秘-Kafka全面解析

    在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立...

    高广超
  • Kafka深度解析

    本文转发自技术世界,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析

    天涯泪小武
  • kafka 基础知识梳理及集群环境部署记录

    洗尽了浮华
  • Kafka 架构-图文讲解

    Kafka是一个开源的、分布式的、可分区的、可复制的基于日志提交的发布订阅消息系统。它具备以下特点:

    互扯程序
  • 万字长文详解如何用Python玩转OpenGL | CSDN 博文精选

    【编者按】OpenGL(开放式图形库),用于渲染 2D、3D 矢量图形的跨语言、跨平台的应用程序编程接口,C、C++、Python、Java等语言都能支持 Op...

    AI科技大本营
  • HBase存储IM消息,RowKey该怎么设计?

    RowKey是HBase表设计中最重要的一个方面,它决定了应用程序与HBase表的交互方式,还会影响您从HBase中提取数据的性能。参看《HBase的表结构你设...

    普通程序员
  • Java开发八年来总结的知识脑图,以及我的进阶线路规划。

    学习一个新的技术时,其实不在于跟着某个教程敲出了几行、几百行代码,这样你最多只能知其然而不知其所以然,进步缓慢且深度有限,最重要的是一开始就对整个学习路线有宏观...

    慕容千语

扫码关注云+社区

领取腾讯云代金券