00:00
好,那下面的话我们来看一下啊,系统流程设计,那这个呢,主要是架构的一个设计,那首先你要捋清楚数据哪来的,比如说数据在哪。啊,一定要记住哈,包括你们日后去企业干活的时候,呃,这个好多同学去洗说懵了,老这个海哥,我这个不知道咋办。啊,一般我会问他这么几件事儿,第一件事儿数据在哪,就是你的原始数据在哪。那第二件事会问他,老板要求你在出仓做什么事,完成哪些功能?啊,然后最终你要摸清楚数据去了哪。你说你要搞清楚输入哪来的啊,中间你做了什么事,最终去了哪?这三件事搞清楚,那剩下事儿就简单了。那好吧,那首先呢,我们数据呢,一部分呢,叫这个web APP业务也是在PC端嘛,一个用户来到这个页面进行了一个加入购物车啊,然后这个下单支付发货啊,这一系列流程,对吧,这叫业务数据,那另一部分数据呢,叫前端买点的用户行为数据。
01:01
那就是这个用户来到这个。点击了什么啊?浏览了什么?浏览了多长时间?最后干了什么事?啊,是这样一个数据哈,好。那这两部分数据呢,都可以通过这个安啊进行负载均衡啊,打入到这个加vae后台的这个业务服务器,那现在主流的这个业务服务器啊,都是用这个呃啊进行来一个部署的。那个。那再往下。如果你是用户的一个业务数据,它就会形成对应的MYSQL数据,你说你这个用户下单了对吧,那肯定要存在这里面,支付了也要存在这里面,这个发不发货也会存在这个买口里面去啊,都会往这里面去存。好,那这里面涉及到了两个概念,一个叫web前端买点,一个呢叫业务日志的一个后端买点。那这俩有什么区别呢?前端买点啊,这块呢,是针对这个什么atml啊啊CSS啊JS啊啊等等这个前端一些组件啊,把这个数据呢存起来。
02:06
那你这个后台这个业务数据呢,这叫后端买点呢,它是什么意思,它这个记录呢,只能是这个你这个前端这个页面去访问了我这个服务器。然后我把这个数据记录下来,那时候他记录的只有是跟后台交互的数据。但是有些数据他不会跟后台交互,比如说这个用户来到这个页面。然后页面鼠标悬停在这儿,悬停在十秒钟。他这个事儿就不会往后台发。对吧,啊还有呢,这个这里面啊,这个用户来到这个页面啊,这个我想啊,啊发生了什么故障。嗯,一般就悬停吧,悬停是最主要的,悬停这种。啊,或者是,哎,这鼠标在划了什么,在哪?哎,放放在哪了?放在海果人参丸上啊,想了半天,但是没有动,那这事呢,其实是可以捕捉到的。那这个呢,只能记录这个请求的数据相对来说会少一些,在企业当中的主流的买点呢,也是这个前端工程师。
03:01
啊叫前端买点会多一些啊,在后台买点呢,相对少一些哈,OK。那前端买点这个数据呢,它一般呢,会发往自己的专门的日志服务器,它一般不往这个Java这个正常这个业务服务器里面去发。为什么不往这发呢?因为这属于他正常的一个主流业务啊,这个是能产生钱的。你想想,如果因为你买点的这个数据发到了业务服务器,导致业务服务器宕机。业务瘫痪,不能实行相应的购买行为,那这个公司不亏大了吗?啊,因为你这是辅助工作的,所以说一般呢,会把这个前单埋点的数据,诶发往另一个engines啊,进行负载均衡的,它发往对应的日志服务器。啊,日志服务器专门收集日志的,跟你这个业务呢,相当于叫结偶。对吧,啊就好他发到这儿,发到这儿之后啊,这个是业务数据的一个介绍啊,就是订单呢,用户啊支付这些事儿啊,买点呢,是指这个用户的这个停留评论点赞收藏啊,这是不同的事儿哈。
04:07
那你业务数据的形式呢,是以MYS的形式存在,那这个前端买点的数据的形式呢,是以这个log file这种形式也是文件的形式存在。两种不同的载体。那两种不同的载体日志谁来读呢?哎,最擅长的破架呢,就是这个flu,他最擅长的读CE文件。啊,读完之后呢,我们为了这个消峰,也就说如果前面这个数据量啊特别大。你呢,这个需要加后面加一个缓存,慢慢的往这个书场里面去去去写,那这时候呢,中间就加了一个卡普尔框架。啊进行相当于起到一个消峰缓存的一个作用。再往下呢,是这个,那你卡夫卡里的数据如何把它传到这个数仓的ADPS里面,你说你如何把卡夫卡里的数据消费到as。那这里面呢,我们用的还是去消费哈,啊去消费到这里面,那这时候该有同学说了,那个海哥你这你看你这就直接就到这个as得了呗,对吧,直接写过来。
05:12
啊,好像也有这个道理,因为你这还是用的嘛,往这消费嘛,不用这个中间这个过程也行,那我刚才说了这个卡夫卡呀,它主要起到了一个消风的作用,如果你数据量特别大,这边过来的数据量特别大,而且速度非常快,那你往这写的过程当中容易把它卡死,把它卡死。啊,把它卡死啊,尤其像这种双11啊,啊618呀啊等等这种节日的时候,那你是扛不住的,那这块呢,我就把这个数据呢,先暂存在这个一个卡法,相当于一个大池子啊,非常大的一个池子。它能容纳很多数据,你数据就源源不断往里灌,没事儿能挂到这儿,然后呢,等着数据进来之后,哎,双十一一过,我慢慢的消费啊,对吧,慢慢消费。哎,给你这个储备了好多这个时间,我可以控制他的一个消费速度,慢慢的往这传啊,是这样一个流程哈。
06:01
那再往下,那如果是加va后台这个MYSQL数据,我如何把数据导入到这个ADS呢?哎,那我们可以用直接学的这个s school框架,哎,把买SQ里的导过来啊,这属于离线的一个导入哈,OK,这数据呢就进到这里了,进到这里呢,我们用什么来答数仓呢?我们主要用的是这个have它来答数仓。而且呢,这里面要分成odsd w DD wsdw d ADS啊,咱们最原始版哈,就是上一版书仓呢,我们只搭了四层啊,四层叫OD SD w DD Ms以及ADS。新版的这个出仓呢,我们又增加了一个DWT啊,增加层级的原因就是因为呃,随着业务的复杂。那你要增加这个啊,不同的层级能分析的指标呢,相对来说会更多一些啊,是从基于这个角度啊去增加的哈,这个呢是按照这个美团的架构,之前呢是阿里的,那后面呢会带大家去看一下啊,阿里的这个书仓结构是什么样的呢。好。
07:01
这是这一块啊,Have分了五成。再之后呢,这个数商分析完的结果也是ad,最终他把这个指标呢,会写入到这MYS库里面。啊,写到这里面之后,这也记住哈,这个MYSQ和这个MYSQ呢不一样啊不一样,这呢是加va后台的业务数据,这个呢是我这个买S时候呢,是我们数仓分析完的结果,数据存到这里面。它俩一定不是一个软口,因为也是要注意这个解耦的问题,如果你放在一起,同样的是你把这个结果又写回去,你把业务数据给干瘫痪了。那这个罪责你是担当不起的哈。好,那存到这里面不是目的,最终呢,你需要让老大呢看到这种报表,什么报表呢?哎,这种折线图,哎,这种柱状图。对吧,啊,这种柱状图,诶,这种饼状图。啊,看到这种图形。那这种图形的话,我这里面用到的一个是一个呢,是supersh啊,这两个都可以在企业当中呢,可以根据你的实际情况性的选择,OK。
08:05
呃,在之后呢,我们这个书场里面还支持对应的机查询,比如说你这个老大来到你这个面前,说我要分析这书场里面当前这一次课的一些指标,那你可以用,可以用PD,可以用德鲁音。在之后,哎,我们这个项目的这个仓呢,还可以为我们日后的这个实时的。啊,实时的分析做好准备,比如说我们这里面还可以用这个SPA水。啊,直接从这个卡卡里面去消费数据,然后把数据写到A,这呢是我们日后的一个实施项目哈。咱们实施项目呢,现在呢也进行了一个重构,重构呢现在呢也是完全基于呃,我们现在的这个业务数据和买点的数据。比如说以后我们会把这个呃三大项目哈,全部打通,比如说用一套数据,这个呢是做平台啊,然后呢,做这个数仓,同时呢,做这个实时,然后包括这个flink项目也会从这去采集相应的数据,那这样的话,如果这种全打通的话,你们去企业的时候,那就是无缝对接,直接把离线系统,实时系统直接拿过去啊,复制粘贴直接就可以跑起来啊,你只需要做的事呢,是把爱Google干掉。
09:13
啊爱硅干成这个你们公司的对应的这个域名啊,文档呢,配套成变成你们公司的这个呃,文档这事就OK了啊,大大的节省这个大家这个开发时间哈啊同时呢,也能助大家这个快速的成为啊这个企业的这种架构师啊。再往下除了这个之外呢,我们本次这个新项目呢,又增加了像这个数据管理,当前最流行最火的啊知识点,同时还有这个grave数据质量监控啊,还有呢,这个是集群的一个监控。啊等等哈,这里面你可以看到啊,涉及到很多知识点,包括框架就就很多。非常庞大,只要你把这套系统学完之后哈,嗯,至少应该在这个20左右吧,20K左右啊,应该正常这么一个薪资范围哈。
我来说两句