第2章 项目需求及架构设计

2.1项目需求分析

2.2项目框架

2.2.1技术选型(#面试)

技术选型主要考虑因素:

  • 数据量大小:数据量很小,直接用mysql即可,如果数据量很大就要考虑用HDFS
  • 业务需求:分离线和实时数仓
    • image-20221014152637447
  • 技术成熟度和行业内经验:例如Flink刚出来时只有大厂使用,普通还是用的Spark,但是Flink成熟后,使用的就多了,有很多大厂的使用经验可以参考,就可以选择使用它。
  • 开发维护成本:有的软件它的开发维护成本比较高,但是功能丰富,但需要使用很多功能时,即使开发维护成本高也得使用它。
  • 总成本的预算:实现同一个功能可能有免费软件和收费软件,但是收费软件肯定有它收费的优势,如果总成本高的话,可以使用收费的软件,预算不够改用免费软件也行。

最好结合具体应用进行说明#待做

2.2.2 系统数据流程设计

image-20221017141850460

  • Nginx:负责分配请求到不同的服务器,避免数据倾斜

  • 业务数据直接存放在MySql中

    • 每日全量?#疑问
    • 增量同步?#疑问
  • Kafka

    • 消崩
    • 解耦
      • 离线数仓和实时数仓都从其中拿数据
    • 业务数据和用户行为数据都需要先经过Kafka然后进入Hadoop集群中
  • 再进行数仓建模

  • 将ADS层的数据同步到MySql中进行可视化展示

  • 实时数仓部分#待学

2.2.3 框架版本选型

image-20221017144806038

Apache版本

可能会出现组件不兼容的问题,需要自己修改源码,然后重新编译打包

但是尚硅谷提供的组件安装包已经解决了一些组件不兼容的问题。

image-20221017144917928

云服务版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-491wxRVG-1666100987011)(离线数仓-用户行为采集平台.assets/image-20221017145353180.png)]

云服务需要运行在云服务器上,也需要购买,但是可以在web页面上实现自动化配置。

具体版本号

image-20221017145642184

2.2.5 集群规模

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0kM80Wfl-1666100987012)(离线数仓-用户行为采集平台.assets/image-20221017150752805.png)]

2.2.6 集群资源规划设计

在企业中通常会搭建一套生产集群和一套测试集群。生产集群运行生产任务,测试集群用于上线前代码编写和测试。

image-20221017151005797

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐