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

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 快速学习项目总体逻辑架构详解

开发者学堂课程【大数据实战项目:反爬虫系统(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 报表进行展示

相关文章
|
18天前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
35 4
|
10天前
|
存储 负载均衡 网络协议
杨老师课堂之JavaWeb项目架构之NFS文件服务器
杨老师课堂之JavaWeb项目架构之NFS文件服务器
19 0
|
11天前
|
JavaScript 前端开发 Java
信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ&插件项目
信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ&插件项目
|
16天前
|
前端开发 JavaScript Java
计算机Java项目|基于SSM架构的网上书城系统
计算机Java项目|基于SSM架构的网上书城系统
|
18天前
|
Java Maven
使用intellij idea搭建SSM架构的maven项目 配置文件
使用intellij idea搭建SSM架构的maven项目 配置文件
23 0
|
23天前
|
Java 数据安全/隐私保护
JavaSE——基础小项目-模拟ATM系统(项目主要目标、技术选型、架构搭建、具体实现、完整代码注释)(二)
JavaSE——基础小项目-模拟ATM系统(项目主要目标、技术选型、架构搭建、具体实现、完整代码注释)(二)
41 0
|
23天前
|
Java API 数据安全/隐私保护
JavaSE——基础小项目-模拟ATM系统(项目主要目标、技术选型、架构搭建、具体实现、完整代码注释)(一)
JavaSE——基础小项目-模拟ATM系统(项目主要目标、技术选型、架构搭建、具体实现、完整代码注释)(一)
76 0
|
19小时前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【6月更文挑战第30天】Spring Cloud是Java微服务治理明星框架,整合Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(断路器)、Zuul(API网关)和Config Server(配置中心),提供完整服务治理解决方案。通过Eureka实现服务注册与发现,Ribbon进行负载均衡,Hystrix确保服务容错,Config Server集中管理配置,Zuul则作为API入口统一处理请求。理解和使用Spring Cloud是现代Java开发者的关键技能。
13 2
|
1天前
|
缓存 监控 负载均衡
探索微服务架构中的API网关模式
在现代软件开发领域,微服务架构因其灵活性和可扩展性而备受青睐。本文将深入探讨微服务架构中至关重要的组件——API网关。通过分析API网关的核心功能、设计原则以及实际应用案例,我们旨在揭示其在提高系统性能、增强安全性及简化客户端与服务间通信中的重要作用。结合最新研究和实际开发经验,本文将为读者提供关于如何有效实施API网关的深刻见解。
|
1天前
|
存储 负载均衡 云计算
微服务架构中的服务发现与注册机制
在分布式系统设计中,微服务架构因其灵活性和可伸缩性而受到青睐。本文深入探讨了微服务架构下的服务发现与注册机制,通过分析Eureka、Consul和Zookeeper等工具的原理与实践,揭示了这些机制如何优化服务间的通信和故障转移。文章结合最新研究和案例,提供了对微服务架构中关键组件的深刻见解,并讨论了其在不同场景下的应用效果。