当前位置: 首页 > news >正文

Kafka介绍及Go操作kafka详解

文章目录

  • 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

image-20200906204717091

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

ELK方案的问题

  • 运维成本高,每增加一个日志收集项,都需要手动修改配置
    • 使用etcd来管理被收集的日志项
http://www.lryc.cn/news/405278.html

相关文章:

  • DAY05 CSS
  • HTTPS 的加密过程 详解
  • spring整合mybatis,junit纯注解开发(包括连接druid报错的所有解决方法)
  • ClusterIP、NodePort、LoadBalancer 和 ExternalName
  • 【Day1415】Bean管理、SpringBoot 原理、总结、Maven 高级
  • Git之repo sync -c与repo sync -dc用法区别(四十八)
  • vite + vue3 + uniapp 项目从零搭建
  • 在CentOS中配置三个节点之间相互SSH免密登陆
  • arm 内联汇编基础
  • Java语言程序设计——篇五(1)
  • 【香橙派开发板测试】:在黑科技Orange Pi AIpro部署YOLOv8深度学习纤维分割检测模型
  • 集成学习在数学建模中的应用
  • WebKit 的 Web SQL 数据库:现代浏览器的本地存储解决方案
  • Yolo-World网络模型结构及原理分析(三)——RepVL-PAN
  • 代码随想录——一和零(Leetcode474)
  • 力扣题解(组合总和IV)
  • Postgresql主键自增的方法
  • 【源码阅读】Sony的go breaker熔断器源码探究
  • LeetCode题(66,69,35,88)--《c++》
  • 来参与“向日葵杯”全国教育仿真技术大赛~
  • SQL每日一题:删除重复电子邮箱
  • 3、宠物商店智能合约实战(truffle智能合约项目实战)
  • 数据库系列
  • 极狐GitLab如何启用和配置PlantUML?
  • Shell 构建flutter + Android 生成Apk
  • 如何用手机压缩视频?手机压缩视频方法来了
  • Linux下如何安装配置Elastic Stack日志收集系统
  • 【深入C++】map和set的使用
  • 跟代码执行流程,读Megatron源码(二)训练入口pretrain_gpt.py
  • MATLAB练习题——矩阵(2)