kafka简介

介绍

kafka是最初由Linkedin公司开发,使用scala语言编写,运行在jvm虚拟机上,kafka是一个分布式、分区的、多副本的、多订阅者,基于zookpeeper协调的分布式日志系统(分布式MQ系统),常见可以用于web/nginx日志,搜索日志,监控日志,访问日志,消息服务等等。
整体设计的几个特点:
- 默认使用持久化
- 优先考虑吞吐量
- 信息的消费状态在consumer端记录而不是server端
- kafka完全是分布式的,producer broker consumer都认为是分布式的
适用场景
- push发送
- 高吞吐量
- 可以作为大缓冲区使用
- Hadoop或传统的数据仓库中存储消息用于离线分析
- nginx日志收集

架构

Producer:向kafka发布消息的进程;
Consumer:从kafka中订阅Topic的进程;
Consumer Group:同一个Consumer Group中的Consumers,kafka将相应Topic中的每个消息只发送给其中一个Consumer;
Broker:kafka集群中的每一个kafka服务;
架构图一:
这里写图片描述
架构图二:
这里写图片描述
架构图三:
这里写图片描述
Consumer负载均衡
这里写图片描述

性能

系统级性能优化
  • Disk:随机读写慢,顺序读写快;
  • OS推测读写:read-ahead & write-ahead;
  • Append messages:顺序读写msgs数据;
  • tcp参数优化:调整缓冲区大小,滑动窗口等;
  • sendfile & zero copy:减少字节copy;
应用架构系统优化

应用架构性能优化-broker
应用架构性能优化-broker
应用架构性能优化-producer
应用架构性能优化-producer
应用架构性能优化-consumer
应用架构性能优化-consumer

监控

kafka服务节点数监控
- zookeeper上xxx/mafka01/broker/ids目录下节点数量
kafka broker监控
- broker是否存活/broker是否提供服务
- 数据流量(流入和流出)
- Producer的请求数/请求响应时间
- Consumer的请求数/请求响应时间
topic监控
- 数据量大小
- offset
- 数据流量(流入和流出)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值