首页 > 如何快速接手一个项目
头像
ebby
编辑于 2020-09-13 22:18
+ 关注

如何快速接手一个项目

因为最近接手了新项目,用到kafka。工作需要,需要快速学习,然后扛住项目。借此,也分享一下,一个老油条是怎么处理一个新组件的。

1.了解组件的定位,明确这个组件是整个业务中处于什么角色。

2.熟悉开发部署,监控告警运维,

3.常见的debug思路,项目的相关概念。

简单介绍一下我的项目,是类似日志中心,解析一下日志,把日志丢进kafka的topic供下游业务使用。

开发部署监控告警运维这个基本上公司都有平台去操作配置,简单了解一下。其实如果不是专门做相关组件的工程师,可以不需要关注细节。

上面的内容大概看看文档,问问老同事,两三天,大概花费几小时就搞定了。

因为之前没接触过kafka,所以常见的debug思路和相关概念我是缺失的。需要花点时间去看。这里大概需要两个周末(实际上,不需要很高的效率,期间还约了两次出去浪)。

这里我选择了《kafka权威指南》,和github源代码两个对照着看,再加几个kafka群随时随地问大佬们问题。重申一下,我们的目标是了解相关概念和常见debug思路。

kafka的业务角色定位,主要在第一章,初识kafka,介绍了一下kafka的角色定位,是做高吞吐实时数据管道的。

项目部署,主要第二章描述,略过。因为用不到。kafka管理和监控略过。因为用不到。这些东西应该是专门做kafka组件的团队,或者sre团队去处理。大致浏览一下就行。

项目基本开发,第三四章,生产者开发和消费者开发,描述了最基本的东西。这个demo也比较简单,比较好理解。

常见的debug思路,一般在原理里面找。

第五章,深入kafka。主要在最宏观那层去介绍kafka的模型,不考虑细节。kafka就是处理一下生产请求和消费请求,靠zk去维护kafka集群成员关系。需要存储分区去做数据同步备份。

第六章,数据可靠性保证,因为kafka不支持幂等。所以生产者需要注意重试的副作用。消费者要注意重复消费或者丢失数据,这里全靠维护偏移量字段去做了一些玩法。验证可靠性这个,其实就是常见的容灾演练。模拟宕机,超时等等。浏览到kafka提供了一些工具支持可靠性验证,可以直接用。

第七章 讲了connect数据连接器包的内容。也是专门做数据管道的package。个人觉得这本书讲的泛泛,找了个博客,精华在深入理解connect那一小个片段。worker进程,连接器和任务三者之间的关系模型。

第八章描述了各种情况的架构,这个比较有意思的是异地双活架构。有个循环镜像问题怎么处理,和跨集群跨城市数据一致性怎么保证。思路就是路由策略尽量让请求尽量同机房同城市。然后按城市细分topic。再用mirrormaker做数据同步。

第十一章流式处理,第一次接触,有点抽象。不会。我的项目没这么复杂的业务逻辑,放着慢慢想。

写的比较泛泛,没有细节干货,提供一个快速上手项目的思路而已。

总结一下:围绕这个项目内容,有目标目的去学习了解需要的部分。没用的有个印象就行该略过略过。太难的,用不上的放着,有空再找找别的资料。项目需要那就只能啃硬骨头。

一个项目基本上就开发部署,监控告警运维,常见debug思路和业务领域概念这些模块。全部理顺就可以打完收工了。

ps.学习是增量的,基本功要扎实。

全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐