项目总体逻辑架构详解|学习笔记

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 快速学习项目总体逻辑架构详解

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段项目总体逻辑架构详解】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/669/detail/11583


项目总体逻辑架构详解

 

内容介绍

一、课堂回顾与目标

二、逻辑架构详细分析

三、知识总结

 

一、课堂回顾与目标

为加深此流程印象,探究数据预处理、实时计算等环节具体措施,掌握反爬虫项目的总体逻辑架构

分为数据采集、数据预处理、计算(分为实时计算与离线计算)、数据展示四个阶段与数据流程一一对应。

 图片1.png


二、逻辑架构详细分析

逻辑架构分为数据采集、数据预处理、计算(分为实时计算与离线计算)、数据展示四个阶段

(1)数据采集

首先,企业为顾客查询提供官网界面。

如下:

图片2.png

用户进行查询或预定功能后,在企业端进行数据采集的工作

再将采集到的信息存储

与数据流程采集数据到 kafka,一一对应

(2)数据预处理阶段

首先,数据打入 kafka,读取数据到链路统计模块。

与数据流程将 kafka 采集到的数据运行到 SparkStreaming 程序,实现数据分析的环节相对应

同时从数据库当中把规则读取过来,运用到数据清洗等阶段

结合数据与规则进行数据脱敏,完成后依次进行数据拆分、数据分类、数据解析、历史爬虫、数据结构化、数据推送等步骤。

数据推送就是数据流程中将预处理结果返回到 Kafka 当中

此外在数据预处理,处在系统监控功能,负责数据预处理阶段的性能监控。

(3)实时计算

首先是读取封装,将数据预处理阶段传送过来的数据进行读取与封装

然后进行指标计算,计算八个指标

完成后进行爬虫识别,剔除非爬虫,只保留纯爬虫数据

保留纯爬虫数据完成后进行爬虫去重,重复数据的去除工作

最后进行爬虫入库将爬虫程序进入 Redis,避免数据丢失,将进行数据备份。

(4)数据展现层

进入 Redis 的部分数据需要写入或备份进 MySQL,

在爬虫程序进入 Redis 时,可以将数据备份到 HDFS 中,如果 Redis 丢失数据,可在 HDFS 中进行恢复。

以上为反爬虫项目的识别工作,而数据流程中的读取已知的爬虫返回到前端,爬虫再次查询即可剔除掉工作,在前期通过脚本实现,属于前端工作室的工作。

工作本质为:将爬虫识别后,写入 REDIS,被前端工作室按照股则读取爬虫程序,通过判断,进行屏蔽。

(5)逻辑架构数据离线报表的实现

在实时计算层阶段,把读取的数据不经处理,写入 HDFS, 为离线报表作准备。

离线报表作为程序,将 HDFS 的数据读入程序进行计算,将计算结果写入 MySQL,该过程对应数据流程中的离线报表的制作。

(6)前端展现

分为链路监控、数据预处理监控、爬虫识别监控、离线报表展现、数据规则配置等,这些监控作为前端数据的展现

写好的代码,数据来源于 Redis 和 MySQL,收集的前端数据在 Redis 和 MySQL 中读取。

前端展现通过 Redis 和 MySQL 支持

(7)系统管理

包括系统监控、策略管理、流程管理、规则管理、采集管理、系统关系等,本质为企业内部的模块,仅作了解

逻辑架构十分重要,准备理解从数据预处理到数据的备份再到离线计算等工作。

 

三、知识总结图片3.png

数据采集层:使用数据采集器(lua),将数据采集到分布式消息系统(kafka)

数据处理层:

1.读取 kafka 的数据(两种方式)

2、进行数据拆分、数据分类、数据解析、历史爬虫判断、数据结构化、数据推送

3、将结构化数据推送回 Kafka

实时计算层:

1.读取 web 中配置的规则

2、通过规则进行反爬虫实时计算

3、将计算结果(爬虫)推送到 Redis

4、将计算当中指标推送到 hdfs

离线/准实时计算层:

1.读取 hdfs 的计算指标

2、通过指标进行数据的报表统计

3、统计完的数据推送到 mysql 中

数据展示层:

mysql 通过 web 报表进行展示

相关文章
|
23天前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
71 2
|
4天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
本系列教程详细讲解 Kotlin 语法,适合需要深入了解 Kotlin 的开发者。快速学习 Kotlin 语法的小伙伴可以查看“简洁”系列教程。此外,教程还对比了多种适合中大型项目的架构模式,如 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux,帮助开发者根据项目需求选择合适的架构。
14 3
|
5天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
17 2
|
22天前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
37 2
|
7天前
|
缓存 前端开发 JavaScript
前端架构思考:代码复用带来的隐形耦合,可能让大模型造轮子是更好的选择-从 CDN 依赖包被删导致个站打不开到数年前因11 行代码导致上千项目崩溃谈谈npm黑洞 - 统计下你的项目有多少个依赖吧!
最近,我的个人网站因免费CDN上的Vue.js包路径变更导致无法访问,引发了我对前端依赖管理的深刻反思。文章探讨了NPM依赖陷阱、开源库所有权与维护压力、NPM生态问题,并提出减少不必要的依赖、重视模块设计等建议,以提升前端项目的稳定性和可控性。通过“left_pad”事件及个人经历,强调了依赖管理的重要性和让大模型代替人造轮子的潜在收益
|
16天前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
24 0
|
17天前
|
存储 消息中间件 前端开发
.NET常见的几种项目架构模式,你知道几种?
.NET常见的几种项目架构模式,你知道几种?
|
20天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
61 2
|
24天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
73 2
|
4天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
42 10

热门文章

最新文章