在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Kafka开发分布发布订阅消息系统学习路线,Kafka是一种快速可扩展设计内在分布式,分区的和可复制的分布式发布-订阅消息系统,被数千家公司使用。可以帮助使用Apache Kafka消息传递系统或者大数据分析领域发展的IT程序员解决使用Kafka集群的问题。
分布发布订阅消息系统学习路线:
一、初识Kafka
1、概念详解
2、安装与配置
3、Java第一个程序
4、服务端常用参数配置
二、生产者
1、消息发送
2、原理剖析
3、生产者参数详解
三、消费者
1、概念入门
2、消息接收
四、主题
1、管理
2、增加分区
3、必要参数配置
4、偏移量管理
五、分区
1、副本机制
2、Leader选举
3、分区重新分配
4、自动再均衡
5、修改副本因子
6、分区分配策略
六、物理存储
1、日志存储概述
2、磁盘存储
七、稳定性
1、事务
2、控制器
3、可靠性保证
4、一致性保证
八、高级应用
1、命令行工具
2、数据管道
3、延时队列
4、流式处理
5、SpringBoot整合
九、集群管理
1、集群使用场景
2、集群搭建
3、多集群同步
十、监控
1、监控度量指标
2、Broker监控
3、主题分区监控
4、生产者监控
5、消费者监控
6、Kafka、Eagle
学习Kafka架构技术优势:
Kafka集群在运行期间可以轻松地扩展或收缩可以添加或删除代理,而不会宕机。可以扩展一个Kafka主题来包含更多的分区。由于一个分区无法扩展到多个代理,所以它的容量受到代理磁盘空间的限制。能够增加分区和代理的数量意味着单个主题可以存储的数据量是没有限制的。
容错性和可靠性Kafka 的设计方式使某个代理的故障能够被集群中的其他代理检测到。由于每个主题都可以在多个代理上复制,所以集群可以在不中断服务的情况下从此类故障中恢复并继续运行。
关于Kafka使用价值场景:
1、日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如Hadoop、Hbase、Solr等;
2、消息系统:解耦和生产者和消费者、缓存消息等;
3、用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到Hadoop、数据仓库中做离线分析和挖掘;
4、运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;
5、流式处理:比如spark streaming和storm;
7、事件源。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java常用框架有哪些?这些框架有什么用?
Java框架在Java开发中的作用是毋庸置疑的。那么Java常用框架有哪些?大概包括:Hibernate、Spring、Struts、jQuery、Redis五种。这些框架有什么用呢?Java常用框架提供了一些现成的机制,在团队开发中简化开发难度,下面小编就来具体介绍一下Java常用的五大框架。
6074
2019-08-26 12:09:43
Apollo分布式部署学什么?掌握到什么程度?
Apollo分布式部署学习,程序员需要掌握配置中心的核心概念及使用场景,熟悉主流配置中心,掌握Apollo的工作原理、安装方法、项目管理、配置管理、集群管理、配置发布、生产环境的部署、灰度发布等核心知识点
3669
2020-02-20 15:54:59
Spring框架功能模块构成及概念
Spring框架功能模块构成,Spring框架采用分层架构,功能要素被分成20个模块,分为Core Container、Data Access/Integration、Web、AOP、Instrumentation、Messaging和Test。
5305
2020-05-19 11:28:45
Spring Cloud Alibaba微服务架构学什么?为什么要学?
为什么要学Spring Cloud Alibaba?Spring Cloud Alibaba本身也是Spring Cloud的子项目是其中的一部分。 如果使用的是第一代(eureka, hystrix, zuul),在2020之后有必要把这些组件替换掉的。在业界已经广泛使用.springcloud中有部分组件不维护了。
4999
2020-06-16 10:52:42
Java开发工程师进阶提升学习路径及误区
Java开发工程师进阶提升学习,Java语言目前非常流行、应用范围最广的服务端编程语言,Java开发的人才需求量大。把Java的学习过程分为四个阶段:理论阶段、开发阶段、进阶阶段、实战阶段。
3566
2021-03-25 16:39:54