Twisted架构概述
Twisted 是一个基于事件驱动(Event-Driven)的网络框架,核心目标是:
- 高并发网络服务开发
- 异步 I/O 处理
- 协议驱动开发(TCP/UDP/HTTP/FTP/SSH 等)
其设计理念类似于:
- Node.js(事件循环)
- Reactor模式(经典IO模型)
Twisted 是一个基于事件驱动(Event-Driven)的网络框架,核心目标是:
其设计理念类似于:
HttpClient 是用于发送 HTTP 请求并接收 HTTP 响应的客户端组件,广泛应用于服务间通信、API 调用、爬虫、网关等场景。
在 Java 生态中,主流实现包括:
Flask 路由本质上是:把某个 URL 规则映射到某个视图函数上,当客户端发起 HTTP 请求时,Flask 根据请求的 路径、请求方法、参数规则 找到对应函数执行,再把结果返回给客户端。
可以理解为:
1 | def run( |
定向爬虫,核心就是:只抓取特定目标站点、特定栏目、特定数据字段的爬虫。
它和“全网搜索式爬虫”不同,目标非常明确,通常只关心这些问题:
Scrapy 非常适合这种场景,因为它天生就是为规则清晰、结构化采集设计的。
框架思维Framework Thinking本质是:
用结构化模型,将复杂问题拆解为“有边界、有层次、有关系”的可分析对象
它强调三个核心能力:
WSGI 是可靠、同步,而 ASGI 则是为了高并发和实时功能而生的现代、异步。
| 特性 | WSGI (Web Server Gateway Interface) | ASGI (Asynchronous Server Gateway Interface) |
|---|---|---|
| 执行模型 | 同步(一个线程同时只能处理一个请求) | 异步(单个线程即可并发处理大量请求) |
| 主要应用场景 | 传统 CRUD 应用、标准的 REST API | 实时应用、WebSockets、长轮询、高并发场景 |
| 支持的协议 | 仅支持 HTTP | 支持 HTTP、HTTP/2 以及 WebSockets |
| 常见框架 | Flask、Django(传统模式) | FastAPI、Django Channels、Sanic、Starlette |
| 常见服务器 | Gunicorn、uWSGI | Uvicorn、Daphne、Hypercorn |