2017.6.5来到华为实习,这是自己的第一份实习。
华为南研所给我的感觉就像另外一所大学,里面的有葱葱郁郁的树木,还有优雅的黑天鹅在湖中悠闲的转悠,环境真要打满分了。还有食堂,很干净,种类很多,味道不错,我最爱的是早餐的豆浆和面条,每天早上出地铁就能打卡,然后在食堂吃个早饭,会觉得一天就这样美好的开始。
公司给每个实习生分配一位导师,我觉得自己十分幸运因为遇到一位非常好的师父。刚进公司确实感觉自己就像菜鸟小白,到了部门之后分配了不同的工作的内容,之前一直在学校做的是图像处理类的工作,编程环境也是c++,自己的知识面还是比较狭窄的。但是分到的组是做大数据平台架构的,自己对这一方面完全没有接触过,当时开会的时候,各种名词和缩写对我来很陌生,内心是很焦虑和不安的。后来师父让我先熟悉整个架构的思想,从flume和ELK的官方文档开始看,我整理好自己的心情,鼓励自己不要害怕,相信自己只要愿意努力就一定能有所收获的。
因为平时自己更多的是看别人写好的博客,算是偷懒的一种方式,师父却总是强调要看官方文档,看完要有所输出,把自己的想法和理解要记录下来。刚开始看文档的时候,师父有空的时候会来问询我的进展,会让我在小黑板上讲讲自己看的结果,并给指导。后来在第一周的时候看完了flume和ELK,心里大概知道整个流程。在第二周的时候让我做一个flume的基于grpc协议的采集插件,之前也没接触过grpc,用了一周的时间看完官方文档和相关资料,跑了下官方的demo,自己基于师父给的proto文件写了自己的客户端和服务端。第三周的时候,将grpc插件加入到大项目中,因为理解错了师父的用意,代码写的不对,之后师父耐心的引导我让我知道该怎么做,后来师父让我熟悉下交换机,让我用自己写的客户端去发送reply去获得另外之前写好的服务端的response,因为我用的是java,而服务端是python,当时一直跑不通,但是grpc确实是跨语言的,不应该出问题的,我有些沮丧,但是师父和另外一个写服务端的师父在耐心的帮我找出问题的原因,一开始猜想是我的代码写的有问题,师父说他帮我看看官方的文档,而这些本来都应该是我自己去做的,但是做的不够好啊,所以师父要花更多的时间在这上面,那天就下班了。第二天一大早碰到师父,师父说他看了源码,我的代码写的没有问题,让我查查版本的问题。后来终于发现果然是版本的问题,服务端的grpc是1.0以前的,而我客户端用的是1.0之后的,所以通信有问题。调整版本之后,正常通信,师父让我把自己写的插件通过git上传,内心有一种感动和欣慰。在企业要会linux系统,要会使用github分享和下载,要会用maven构建项目,当然最好知道网络的知识和大数据的知识,当然在我这种情况更要熟练掌握java。第一个月感觉收获颇丰,打开了视野,也学会了很多,感谢我的师父和其他给我指导的师父们。
接下来要了解grpc的内部原理,具体是怎么实现的。