程序员英语学习之英文官网查看Kafka(三)

程序员英语学习之英文官网查看Kafka(三)

1. 背景

  1. 作为程序员,由于计算机软件本身历史原因,最新和最全的资料很多都是外网上的英文资料。部分有中文版,但受限于官网或者爱好者精力,并不会很全面和很新。
  2. 英语作为现行世界通用语言,很多国际会议、视频等都是英文版本。如果想要跟进世界最新技术,学习英语必不可少
  3. 英语能力,听说读写,对于程序员来说,最重要就是读–阅读英文能力。而这一点除了单词词汇量,其实还需要一些小技巧,这样才不会由于词汇量首先而被前期阅读障碍所打败。
  4. 本文会基于java和大数据生态的几个官网英文资料进行英文阅读演示
  5. 英语资料阅读技巧
  1. 这个技术或框架是什么?
  2. 可以解决什么问题?
  3. 这类问题还有哪些其他解决方案?
  4. 这个技术或者框架整体设计思路如何?
  5. 这个技术如何使用?–快速入门案例并体验
  6. 这个技术用在了哪些地方、公司?
  7. 这个技术有什么优点和缺点?
  8. 这个技术常见容易踩坑的地方有哪些?如何规避?
  1. 注意英语和中文不一样在于,有时候修饰词会放在前面,有时候又是放在后面,修饰词放在后面的场景,很多时候容易造成阅读困难,就算是单词都认识,但由于句子太长,也很容易产生阅读障碍。所以大家阅读时,其实可以使用断句功能,类似于代码中的嵌套调用,先抓住关键词,然后从最末尾开始阅读起,这样理解起来就会好很多。

2. 案例三之Kafka

kafka
其实从整体kafka主页来看,是非常标准的一个技术框架页面

  1. 技术框架概览,从是什么、应用领域、主要特点、生态系统都会涉及,而这些对于技术选型都是非常关键的考虑因素
  2. 接下来就是顶部的快速入门,对于有经验的开发者来说,不会等到文档都看过了才动手去集成并使用新技术和框架,而是先了解一个大概,然后就开始集成,在使用过程中边用边学,印象更深刻。–实践型学习法
  3. 顶部的文档入口,不管什么技术和框架,如果没有好的开发文档,最终都会对技术推广造成不可估量的阻碍。所以好的框架技术文档都是非常全面,甚至一些公司的开发也是采取文档和代码并重方式进行的,这样可以保证代码具备很好的可维护性,这一点对于传统软件领域如银行、保险、医疗等软件开发是及其重要的。
  4. 支持,有很多技术和框架,其实都是大公司开源出来的,所以一个技术是否有生命力,在于支持它,维护它的公司是否有足够大的力度。
  5. 社区,一个新技术和框架,如果社区死气沉沉,那说明使用它或者维护它的人并不是很积极。同时不管什么技术和框架,一定会有不足,活跃的社区有利于框架的问题发现和修复,这一点对于新技术和框架是非常非常重要的。因为最终技术服务于业务,而实际生产中,需要尽量保证新技术和框架的应用不会给生产带来问题,否则这个框架就会被抛弃掉,因为实际生产对于错误的容忍度是很低的,毕竟损失的都是白花花的银子!!!
  6. 下载,新技术和框架,一般都是迭代式前进,也就是会有版本。这时候下载入口中,一般都会涉及到最新版本及其说明以及历史版本的下载入口。
    注意,框架版本一般遵循语义化规则,如1.2.3版本,3一般是bug修复性版本迭代,2一般是新增功能或者大bug修复,2和3一般都会保证前后版本的api接口兼容性。1一般是重大bug或者api不兼容性的改动,所以升级大版本需要很慎重,特别公司的技术框架一般是一个体系,一个框架升级,其他框架也需要对应改动来应对升级。同时,一个框架如果一致都是0.3,或者0.3.5这种小版本,说明本身还不够稳定,一般公司都不会采用,一定要使用时,需要确保其稳定性,并做好框架崩溃的应对措施

2.1 主页面概览

  1. kafka是什么,是一个开源的,分布式事件流平台,高效的管道流,用于流式数据分析、数据集成、严格任务应用处理
  2. 被用于制造业、银行、保险、通信
    注意,上述的几个行业,对于数据的准确性和稳定性都是极其极其严格的,能够用于这些行业的框架,本身就代表了性能、准确的含义。所以后续如果大家看到一个新技术和框架被用于金融、制造、通信,不要怀疑,一定有这个技术的独特支持,尽快跟进学习使用。
    在这里插入图片描述
  3. 核心能力
  • 高吞吐率,就是可以在很短时间内接纳和提供很高的数据流量。
    削峰平谷,就是指生产中,如果请求的流量或者需要提供的流量突然剧增(一般是前者如双十一,618大促等等),这时候就需要一个很高吞吐量的框架来做数据缓冲,防止业务集群被冲垮。
  • 可扩展,对于现有业务场景来说,需要能够随时扩展集群规模来做到应对突发的流量,也需要能够随时缩小规模来降低集群成本。这时候就是既能够应对突发的业务数据增长,也能够在数据高峰期过去后,及时收回大集群的资源投入,降低企业开销。
  • 持久化数据存储,不管什么情况下,数据是一个公司的重要资产,比硬件资产一般都重要的多。数据持久化,也就是数据并不是放在内存,而是放在磁盘。一般数据持久化都会采取不同节点间数据备份,这样就算断电,磁盘中还有数据,就算节点计算机坏了,还有其他节点的数据做备份,保证数据不丢失
  • 高可用,就是说对外提供服务的是一个集群,而不是单个部署了服务的节点计算机。想到高可用,是否想到了zookeeper?是的,apache技术框架下的高可用,很多时候都会使用zookeeper来进行集群节点动态上下线感知,存储关键信息数据,节点的主从选举等等。
    在这里插入图片描述
  1. 生态体系
  • 内置的流数据处理
  • 几乎可以连接任何数据源和消费数据的框架
  • 有各种客户端(连接kafka并进行数据操作的客户端)
  • 庞大的生态开源工具,这样可以确保kafka框架没有提供的,可以从其他生态体系下工具中查找并使用。因为一个框架不可能满足企业开发所有需求,这时候有一个好的生态体系,就可以从体系中查找开源工具而不用重复造轮子。
    在这里插入图片描述
  1. 信任,容易使用
  • 这里主要讲的是一些使用门槛低,被很多机构,公司采用
    在这里插入图片描述

2.2 快速入门

  1. 好的技术和框架官网,一般都会有一些很简单,但是很有代表含义的演示案例以及指引,来引导新人进行实践和尝试。因为复杂的企业应用其实也是由一个一个的简单要求拼接组合而成。
  2. 一个框架本身也会有很多功能,但是核心功能并不会很多, 复杂业务需求使用这些功能进行组合拼接就能够很好满足企业开发使用。所以好的框架和技术,一般都会带上丰富的演示案例,不会很难,但能够很好将框架和技术的特点表达出来。
  3. 很多程序员习惯于看书,所以这里kafka还提供了书籍和论文。注意,其实很多开源框架,都是基于论文的思想和思路进行技术实现。这也是常说的,写代码思路最重要,有了思路之后,才是代码实现。当然,能够依靠论文的思路就把代码实现出来,也是神人级别。能够组织管理遍布世界各地的开发者,协同把一个开源框架开发维护好,就更考验管理和沟通能力了
  4. kafka还提供了视频,不过鉴于kafka的广泛使用,大家可以去B站上查看搜索视频,有很多公司,培训机构都有相关视频。大家注意,不用在意很多人说的,高手都是看书,非高手才看视频。这是谬论,大家上大学,研究生,博士课程都是上课,和看视频有什么区别呢?而且从信息传输来看,千字不如一图,一图不如视频(图片加声音),信息传达要密集地多。
    在这里插入图片描述

2.3 文档入口

  1. 注意这里kafka很贴心地把关键概念、api等都分别列出来了
  2. 这里还把设计思路、实现也列出来
  3. 安全性
  4. 客户端
  5. 操作
  6. kafka连接
  7. kafaka流数据
    这几个方面,基本把kafka要使用的关键点都列出来了。
    在这里插入图片描述

2.4 支持在这里插入图片描述

2.5社区

  1. kafka提交,就是如果发现框架有什么缺点,可以自行实现,然后申请做代码提交。但注意,开源框架的代码提交,并不是简单的push request,需要走流程。特性或者bug描述,代码修复思路描述,特性或者bug优先级(严重等级评估),版本规划,代码评审等等流程。都通过后,这个代码才有可能被合并到新版本的框架或者技术中
  2. 项目信息,其实从官网的apache后缀应该就知道,这是一个apache项目,肯定属于精品。而从使用范围来看,这是一个顶级的apache项目。
  3. 生态,我们做技术选型时,会尽量避免小众技术,因为一个框架一定会有不完善不好的地方,活跃的生态社区,有利于及时发现问题并改进。
  4. 联络方式,一般发现bug或者希望由新特性,可以联系开源框架维护者,一般都是邮件联系,一般都是英文书写。所以英语还是很重要的一个沟通工具。注意,学好英语跟爱不爱国没关系,,,
    在这里插入图片描述

2.6 下载

在这里插入图片描述
注意,企业中的版本选择,并不是越新越好,而是越稳定越好。新版本出来没有经过时间考验,稳定性其实是存疑的,特别对于开源框架,并没有经过非常非常充分的测试流程。加上企业中一般是整个技术体系,体系中各个技术框架版本其实是由兼容性来约束的,升级其中一个,其他也需要升级,这种升级的风险和成本都是需要慎重评估的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值