# 更新日志 (v0.6.0) ## 概览 作为一个重要版本发布,Crawlab v0.6.0 由一些重大的功能升级组成,包括性能、稳定性、健壮性、易用性方面的大量优化。本次 beta 版本理论上会比老版本更加健壮,特别是任务执行、文件同步、节点通信上面。但是,我们还是推荐用户在 Crawlab 新版本上更全面的测试不同的爬虫任务。 ## 升级优化 #### 后端 - **文件同步**. 将文件同步从原先的 MongoDB GridFS 迁移到分布式文件系统 SeaweedFS,以提升文件同步和爬虫部署的稳定性和健壮性。 - **节点通信**. 将节点通信从原先基于 Redis 套壳的 RPC 迁移到 gRPC。工作节点通过向主节点发起 gRPC 请求来与 MongoDB 数据库间接交互。 - **任务队列**. 将任务队列从 Redis 列表迁移到 MongoDB 集合,以提高灵活性,例如优先级队列。 - **日志**. 将日志储存迁移到 SeaweedFS,以解决 MongoDB 数据库中的性能问题。 - **SDK 集成**. 将结果数据储存从原生 SDK 迁移到了任务处理器集中导入到数据库。 - **任务相关**. 将任务相关逻辑抽象为了任务调度器、任务处理器以及任务执行器,以减少系统耦合度,提升可扩展性和可维护性。 - **组件化**. 引入依赖注入框架,将模块、服务以及子系统进行模块化。 - **插件框架**. **Crawlab 插件框架 (CPF)** 已发布. 详情请参考 [这里](https://docs.crawlab.cn/zh/guide/plugin/). - **Git 集成**. Git 集成被作为内置功能. - **Scrapy 集成**. Scrapy 集成以插件形式存在,插件为 [spider-assistant](https://docs.crawlab.cn/zh/guide/plugin/plugin-spider-assistant.html). - **依赖集成**. Dependency 集成以插件形式存在,插件为 [dependency](https://docs.crawlab.cn/zh/guide/plugin/plugin-dependency). - **消息通知**. 消息通知功能以插件形式存在,插件为 [notification](https://docs.crawlab.cn/zh/guide/plugin/plugin-notification). #### 前端 - **Vue 3**. 迁移到了最新的前端框架 Vue 3,以支持更高级的功能,例如组合式 API 和 TypeScript。 - **UI 框架**. 从之前的 Vue-Element-Admin 迁移到了基于 Vue 3 的 UI 框架 Element-Plus,更多灵活性和功能性。 - **高级文件编辑器**. 支持更高级的文件编辑器功能,包括拖砖操作、复制、移动、重命名、删除、文件编辑、代码高亮、导航标签等。 - **可自定义表格**. 内置更多高级功能,包括自定义列、批量操作、搜索、过滤、排序等。 - **导航标签**. 支持多导航标签查看不同的页面。 - **批量创建**. 支持批量创建对象,包括爬虫、项目、定时任务等。 - **详情导航**. 详情页里的侧边栏导航。 - **更优化的仪表盘**. 主页仪表盘中更多的数据图表。 #### 其他 - **文档网站**. 升级 [文档网站](https://docs-next.crawlab.cn). - **官方插件**. 允许用户在 Crawlab 用户界面上安装 [官方插件](https://docs.crawlab.cn/zh/guide/plugin/).