菜鸡程序员立的flag

立flag

首先说一下自己是个菜鸡开发,刚毕业几年,在工作中一直感觉有劲使不出来,今天在家一个人好好想了想,究竟以后的路要怎么走呢!所以才有了今天这个flag。其实这个CSDN账号早就申请好了,一直想记录点什么,但是一直没有迈出这一步,今天也算是个小突破吧。
自己现在每天就是上班下班吃饭睡觉,在一家小公司做着开发的工作,但心里一直有个去大厂的梦,挣着在北京很平常的程序员工资。既然想去大厂那首先技术需要过关,但是计算机这一领域真的是学不过来呀,越学越不懂,所以也要有侧重点,
目前工作中主要涉及如下几个技术方面:

Java、 kafka、 zookeeper、 elasticsearch、 docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

docker我认为是一个大的趋势了,不管从各系统部署方面还是各系统隔离方面,docker都是利器呀,docker在微服务里也大量运用,容器化在大数据领域也都是大的趋势。目前我们公司的所有服务都在docker中,可能有十几个服务吧,各个服务之间通过HTTP调用。平时工作中除了开发之外不可避免的要接触docker,但说实话我根本不会docker,就会几个命令,做docker镜像我都是麻烦别人做,公司有人用shell脚本封装了docker的命令,我只要调用就行了,方便是方便,但是docker根本不懂,离了脚本连命令都不会敲了。所以docker是必须要学的了,我给docker的定位就是工具,不必精通毕竟不是虚拟化这个方向,但是这个工具的原理一定要整明白,一定要会用这个工具。

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

公司用kafka做消息中间件,几乎所有的日志都要通过kafka入elasticsearch,这里我们不是简单的用kafka的消息队列功能,而是把kafka当成一个流处理平台。刚来公司的时候我看到用kstream很不理解,为什么要用一个国内几乎内人用的技术呢,出了问题也没地方查,随着对产品的理解我才领悟,确实kstream是非常轻量化的,依托kafka之上做流处理平台可以满足我们绝大多是的业务场景而且不用占用太多资源。像storm、spark、flink这些都是非常好用的框架为什么不用呢??因为他们都太重了,一搞就是集群,而kstream跑起来就是一个java程序但是能完成绝大数流处理功能,毕竟数据量没有很大,非常的轻量化,一个docker就能搞定流处理场景。kafka是我工作中接触最多的,所以我会从源码层面学习kafka,这也是我接下来的重点。

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

为什么要用zookeeper,理由很简单,因为要用kafka。zookeeper目前只有kafka再用,有点浪费分布式应用程序协调服务这个头衔,我感觉公司也没几个人搞懂zookeeper的功能,我发现他们连zookeeper的watch都不知道,其实我们的产品算一个微服务系统了,但是由于客户的局限性集群模式下我们后端的zookeeper、kafka、elasticSearch是集群外其他都是各跑各的,没有利用到zookeeper的一些其他功能。zookeeper的源码我搂过几眼,不是太多,所以zookeeper我也会从源码层面学习。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

现在一想到搜索,就会想到Lucene、Solr、ElasticSearch,这三个没听说过的请谷歌。我们公司用了ElasticSearch,但很遗憾由于产品前期需要短时间快速迭代,而且小公司很难招到ELK高手,所以公司的ELK我觉得就是瞎用,有点当成数据库用的意识,几乎没用到ElasticSearch的搜索功能,只是搭个集群,ElasticSearch的优化、运维公司可以说是没人懂,毕竟数据量还没达到那个水平。以前学过ElasticSearch但其实都是为了面试,来了公司也没人去请教所以就一直没有学它。在 kafka、 zookeeper、 elasticsearch这三个软件中我觉得elasticsearch是最难的,我这里说的难不是学会用很难,而是精通比较难,所以目前我的目标首先是会用elasticSearch的各项功能,理解它的集群原理,有机会在公司参与一下公司elasticSearch集群的优化工作。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java只是一个工具,他的知识点太多了,你学会它只是事件问题,但是要学好它那就必须看看源码了,其实网上搜索Java某个知识点一大堆的源码分析,但看过一遍之后就完了,工作中也不用会忘得非常快,根本不是自己的东西,所以这里我不会专门学习Java,在阅读kafka、zookeeper源码的同时遇到Java问题我都会查资料总结出来。

flag:kafka源码阅读、zookeeper源码阅读、docker和ElasticSearch理解原理并学会使用,学习的过程中发现Java有什么地方不会总结,一周更新一次。

这就是我今后的计划了,计划非常好,实现起来也比较难,需要有人监督呀,这也是我在博客上写这篇文章的理由。之后所有的学习笔记都会写成博客,争取原创吧,有一起学习的可以一起搭伙学,如果有大神可以指导,受徒儿一拜。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值