Kafka初识

第一次听到kafka还是在17年实习的时候,当时在一家外包公司,没错就是外包,不过后来呆了半个月就离职了。当时接触的是一个电信外包项目,主要是基于大数据做一个端到端的监控平台,还是实习的我第一次听到了kafka这个名字,不过由于那时还只是一个打酱油的实习生再加上并没有待多长时间,就没有深入了解它,来到第二家公司后再一次听见kafka,当时是一家做数字货币交易所的,就是类似比特币的虚拟货币,当时有一个OCR的实名认证接口需要用到kafka做异步,不过很可惜的是18年暴雷,公司资金链断裂开始裁员,转正还没一个月的我就又失业了。之后第三次入职,是一家做风控的创业公司,当时让我负责计费系统的设计,后来经过一系列插曲,又再次接触到了kafka,至此开始真正接触它了解它。现在准备把kafka系统性的学习一遍。

记得在第二家公司还发生过一个小插曲,当时一个开发人员在往kafka发送完消息之后,消费者无法消费到消息,最后找到CTO来解决,还被训了一顿,问题是因为当时那个开发人员在本地开了一个消费端,当消息发送到kafka后,被本地的消费了,开发环境没有消费到。这是个很常见的小问题,相信很多开发者都遇见过,不过不知道你们有没有被CTO给训一顿😂

阅读全文 »

Kafka学前准备

不知道大家在学习一门新的技术之前是怎么做准备的,不过我想每个人都会遇到过学习完一门知识长时间不接触会立马忘记的情况。就像我之前学的JVM和Redis一样,学习的时候对每个细节都非常了解,可是时间一长之后又会立马忘得一干二净,我觉得大多数人都无法避免这种现象,毕竟你没有过目不忘的本领。既然无法避免那就只能想办法可以快速的再次拾起,就像物理实验中的误差一样,不可避免只能降低。所以在此推荐大家每当学习一个新的知识点的时候,一定要做好学习前的规划以及笔记,不然到头来又是一场空。等到面试的时候再把它拿出来看看,其中重要的点着重回顾,我想一定会有所帮助。还有一点就是记笔记最好整理成博客放在自己的博客或者三方博客平台上,强迫自己把笔记写的自己能看懂外还要别人也能看懂,而且还能和别人一起交流经验,一起学习。

阅读全文 »

消息队列学习开篇

什么是消息队列?消息队列有哪些?又解决了哪些问题?该怎么选择消息队列?使用消息队列的时候会遇到哪些问题?带着这些疑问先对消息队列进行初步了解。

介绍

在计算机科学中,消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列交互。消息会保存在队列中,直到接收者取回它。
一个 WIMP 环境像是 Microsoft Windows,借由优先的某些形式(通常是事件的时间或是重要性的顺序)来存储用户产生的事件到一个 事件贮列 中。系统把每个事件从事件贮列中传递给目标的应用程序。 ——摘自维基百科

维基百科中的解释,但是总感觉一大串术语,又是进程又是通信的,还有各种设备什么的。对于小白来说就用最简单的一句话就行了,消息队列就是用来发送和接收消息的队列,发送消息方叫作生产者,接收消息方叫作消费者
不要纠结这些专业术语了,我们了解消息队列主要用来业务上的问题的,老是按照专业的角度去理解多费事,入门简单的了解它是干什么的解决了什么问题就行了😜

阅读全文 »