00:00
那另一块呢,另一块是四件。事件怎么理解呢?哎,事件呢,我们这里面会有很多事件,这么多事件。事件日志里面包括商品列表、商品点击、商品详情、广告消息通知啊,用户后台活跃评论、收藏、点赞、错误日志。啊,一大堆,那一大堆的话,这是一个健身数据哈身数据,这是一个接身数组啊,接身数据里面,这是其中的一个元素,当然这里面可以包含很多元素。好的眼霜给大家看一下这个吗?你看这个身数组里面包含,哎,这是一个事件,这个事件名称呢叫display display,另一个呢,叫这个active background啊也是两条事件,那两条事件对应的这个是一个是display。商品点击另一个呢叫background,对应的是用户后台活跃。那这两条日志我可以放在一起发。为什么这个放在一起发呢?肯定会有同学说这个你来一条发一条多好啊。这样理解。
01:00
比如说用户就想了,你这个人只要来到这个京东网网页页面,我只要往鼠标往这一放,你就能给我发一条,往这一放你再发一条,往这上再发一条。那会面临一个什么问题呢?会面临着你这次这个买点的数据,他会频繁的去访问这个日志服务器。对吧,你鼠标只要往这一放,或者1.1操作,那它就往日志服务器发一条,那会对带来这个日志服务器啊,这个压力呢,会比较大啊比较大,那我们通常调用的办法是什么呢?哎,比如说点了点了三四条对吧?啊操作了这个有几步了啊,有点击有故障啊,比如说一分钟啊,到了一分钟我统一发一次。就批处理吗?你刚才来一条发一条叫实时处理,那现在呢,我是攒一批之后处理,那这叫批处理。啊,还是皮处理的概念。啊,这样去做哈,好,那我们现在呢,就采用这种批处理的方式啊,往往其实在这个正常的企业里面用的都是批处理,除非哪哪几家公司呢,不用的批处理呢,这个金属条。
02:00
今日头条他不是做的批处理啊,他就是做的实时处理,你你来一条,你像咱们点击了某一个这个新闻。立即他就会给你推荐,嗯,相关的这个视频对吧,只要一下拉立刻就来,那他如如何做到反应这么快呢?他主要是因为这块他做的是实时,那当然面临着对他这个服务器这个压力啊,就比较大啊,当然您不差钱嘛啊,不差钱的话,你就可以做的比较好一点。那像咱们这种的,像一些普通的电商,其实他也没有必要想的那么快啊,没有必要想那么快,那我可以做成这种批处理哈。OK。行,那这是这块,那下面的话我们来介绍一下这个,呃,它的事件之段啊,事件之段,那事件之段呢,我们会放到这个身,这是K啊,你看这么ET是K嘛,那这个身数组它是一个V。那这个金数组里面又嵌套了这这其中一个参数。啊,也是第一个值,那第一个值里面,它下面又是一个杰森,又是一个杰森KV。这呢,这里面又套了一个K和V,然这里面又是KB,所以说这种是这个嵌套形式的啊,这个呢,也是故意给大家设计的哈,设计的这个相对来说复杂一点啊,如果复杂的你都能解决掉的话,那后面的话你遇到一些简单的就更能解决掉了啊,如果简单的会长啥样呢?简单的就长这样就行了。
03:18
就具体的一个事件,这里面K是什么,V什么,K什么,K是V什么,然后呢,你直接可以解析这些是取出P啊,传进K取出Y流。那就太简单了啊,太简单了就没有什么这个难度了,那咱这个呢,是属于选择了其中某一家公司啊,这个内部啊比较难的一种结构接身嵌套接身再嵌套身。好,那这里面呢是事件,你看啊,这个事件里面包括这个客户端事件产生的事件,那这个呢,是具体这个事件的一个事件,跟上面哪个呢。这块是有区别的,有这个区别,因为你这块呢,是记录下面可能有十几条事件的一个发送总时间,它会是相当于是年后了嘛,啊,比如说你前面事件已经产生了,我统一发的时候那一时刻。
04:03
那比如说前面的可能是这个,呃,三点的时候,四点的时候产生了日志,那到发的时候可能到五点了。嗯,好,那我想记录每一个事件它发生的时刻,你这个事件它产生的时刻,把这个事件产生的时刻可能三点。都给它记下来,你发是五点是你的事儿,那我这是三点产生的,因为你下一个调日志可能四点产生的啊,或者04:50产生的啊,那你再说。呃,再往下呢,是这个具体的事件,那具体的事件里面记住什么good action啊,这就是每一个事件的字段了哈,下面这里面会有详细的描述每一个字段的含义。然后再往下呢,下面呢,给大家一个事例日志。啊是你说代码啊,正常的一个样例哈,样例,那正常这个服务器里面日志会长什么样呢?前面加上一个它。他呢,这个是服务器时间,然后竖线拼上日志。这个又是啥含义呢?这个是服务器端它接收到这条日志的时候的一个时间。
05:01
啊,那这个用来干嘛呢?这个往往是来干这个事的哈,来看一下画张图。嗯,这边呢,是这个APP客户端。那到这边呢,这个是后台啊后台,那你后台的话,相当于这边的这个数据。诶发送请求对吧,嗯,发送请求过来了,那过来了,你你前面这个这段的这个发送这个日志,那日志的话又展了好几条,比如说第一条日志,第一条日志呢,是这个三点。产生了第二条日志3.01。3.01第三条是证。3.02。啊,三点之二,好在那一批的我发送过来对吧,然后呢,这里面呢,其实我总的我还打了一个时间,呃,总的发送时间了啊,总的发送时间4.3.05吧,好一点。
06:06
3.05嗯,我把上面这一批次啊拉取完之后发过来,发过来之后呢,这边它有个服务器接收时间。接入时间,然后拼上这条日志啊,拼上你前面这这这个日志,那有什么作用呢?那你想想这个服务器服务器时间,呃和你这个发这个总的这个时间,这有个时间呢,你这是3.05,那我这个服务器接入时间呢,假如说是这个。假如说这里面是这个3.3.10。因为中间有网络传输嘛,那你就能测试出来网络传输的一个时间,那如果这块时间特别长的话。特别长,假如说04:10。那就说明这个网络有有问题啊,而且这个用户这种用户呢,还不在少数,那么你就需要采取特殊的处理了啊,看看查看一下是什么原因导致你这个网络那个不顺畅对吧?啊,这是其中一个比较重要的参数,比如说服务器接收到这条日志的一个时间,一般会打一个时间戳啊记录下来。
07:07
然后再拼上你这个传递过来这条日志。这么个事儿,好,那再往下呢,这条日志呢,是APP啊,这个呢是gmail啊,是属于这个呃数仓啊,这个全球电商啊,一个名字,当然你写这个PC啊,或者这个APP也都行,这个字段呢,一般呢,我后面也不用啊,会把它干掉啊,用的话是下面这个公共字段。啊,公知他这些信息,它就长这样,那船的话AKVPV。那再往下呢,下面呢,这块呢是事件字段两部分吧,一部分公共字段,一部分事件字段,那事件字段这里面你看我这里面就包含了两个事件,一个呢是三品点击事件,一个呢是这个后台活跃事件。这么两个事件,而且每个事件里面呢,都是这个事件产生的时间事件产生的事件啊,都是不同的,具体的这个事件,每个事件的字段那当然也是不同的。所以说这个呢,就是这个呃,日志的一个标准格式啊,快速熟悉一下,后面的话我们会用。
我来说两句