一. 小时级实时数据仓库构建的开发流程
1、找到数据流(done)
2、将数据源进行有序化排序处理,模拟最真实的微博数据流的真实数据的生产过程。
3、接收微博数据流数据
4、转发到kafka集群
5、kafka集群的搭建与运维(done)
6、消费kafka形成小时级的微博数据文件
7、将小时级文件定期、自动化load到小时级微博数据分区表
二小时级实时数据仓库构建的详细开发过程
1、找到数据流(done)
2、将数据源进行有序化排序处理,模拟最真实的微博数据流的真实数据的生产过程。
1)将weibo_product表的数据进行部分有序化落地到本地文件当中。
2)将本地有序的微博数据,通过模拟数据请求的方式,将数据逐条发送到微博数据接收服务端,从而形成微博数据流。(done)
3、接收微博数据流数据(done)
4、转发到kafka集群 (done)
5、kafka集群的搭建与运维(done)
6、消费kafka形成小时级的微博数据文件(done)
7、将小时级文件定期、自动化load到小时级微博数据分区表
三. 微服务restcontroler和传统controller对比说明
相同点
都属于controller层。
都能起到路径拦截作用
区别
传统control拦截处理完成后返回的是页面。
而restful拦截处理完成后返回的是纯数,一般是纯文本或是json居多。
应用场景说明
传统的用户页面功能的跳转过程。
微服务主做页面的数据交互。
Curl
号称“linux的浏览器”。
也称为无头浏览器,即没有界面的意思。
四.数据传输过程当中的常用问题
1、少数据
2、数据不正确
3、数据乱码问题
编码和解码问题
只要保证编码和解码的一致性、兼容性即可解决。
比如:java io,url编码。
五. http的传输方式?有什么区别和联系?
传统方式
Get,post,put,delete。
最常见的是get,post
Get,post的区别联系?
联系
都是http协议的传输方式,而且是最常用的。
区别
1)表现形式:get是放到浏览器地址栏当中显示,post传输的数据实体部分是放到http协议的data字段当中。
2)数据内部封装不同:get的是封装到http header当中,而post是header只放url,数据是放到http data当中。
3) 大小不一样:get是有大小限制,默认是64K,post是在http data当中,一般是不限制大小的。
4)安全性方面:get是放到浏览器地址栏所以安全性较低, 而post是放到data数据体当中,不容易被捕捉的到,安全性较高一些。
MVC
Model view controller
View:视图,是用户与系统交互的界面部分。
Controller:控制器,也称为拦截器,拦截用户的请求,将对应的请求交给Model去处理,完成后再转发给View端。
Model:业务模型层
模型层:对现实事物的抽象,即Entity类。
业务处理层:对模型当中的关系进行计算处理,即Manager。
六. Kafka的四种消费方式
1) console版
2) java版
3) scala版
4) streaming集成kafka