Kafka介绍及Go操作kafka详解

07-19 1045阅读

文章目录

  • Kafka介绍及Go操作kafka详解
    • 项目背景
    • 解决方案
    • 面临的问题
    • 业界方案
      • ELK
      • ELK方案的问题
    • 日志收集系统架构设计
      • 架构设计
      • 组件介绍
      • 将学到的技能
    • 消息队列的通信模型
      • 点对点模式 queue
      • 发布/订阅 topic
    • Kafka
      • 介绍
      • Kafka的架构图
      • 工作流程
      • 选择partition的原则
      • ACK应答机制
      • Topic和数据日志
      • Partition结构
      • 消费数据
      • 使用场景
        • 消息队列(MQ)
        • 追踪网站活动
        • Metrics
        • 日志聚合
    • Kafka安装和启动
      • 下载
      • 安装
      • 修改配置
      • 启动
    • Zookeeper启动
    • LogAgent的工作流程
      • log agent开发
        • 下载安装
    • LogAgent编码
      • 存在的问题
      • 引入依赖
      • 最终版本

Kafka介绍及Go操作kafka详解

项目背景

每个业务系统都有日志,当系统出现问题时,需要通过日志信息来定位和解决问题。当系统机器比较少时,登陆到服务器上查看即可满足当系统机器规模巨大,登陆到机器上查看几乎不现实(分布式的系统,一个系统部署在十几台机器上)

解决方案

把机器上的日志实时收集,统一存储到中心系统。再对这些日志建立索引,通过搜索即可快速找到对应的日志记录。通过提供一个界面友好的web页面实现日志展示与检索。

面临的问题

实时日志量非常大,每天处理几十亿条。日志准实时收集,延迟控制在分钟级别。系统的架构设计能够支持水平扩展。

业界方案

ELK

Kafka介绍及Go操作kafka详解

  • AppServer:跑业务的服务器
  • Logstash Agent:
  • Elastic Search Cluster
  • Kibana Server:数据可视化
  • Browser:浏览器

ELK方案的问题

  • 运维成本高,每增加一个日志收集项,都需要手动修改配置
    • 使用etcd来管理被收集的日志项
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]