Crawlab

说一下 Dubbo 的工作原理?

戏子无情 提交于 2020-10-05 13:53:37
面试题 说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程? 面试官心理分析 MQ、ES、Redis、Dubbo,上来先问你一些 思考性的问题 、 原理 ,比如 kafka 高可用架构原理、es 分布式架构原理、redis 线程模型原理、Dubbo 工作原理;之后就是生产环境里可能会碰到的一些问题,因为每种技术引入之后生产环境都可能会碰到一些问题;再来点综合的,就是系统设计,比如让你设计一个 MQ、设计一个搜索引擎、设计一个缓存、设计一个 rpc 框架等等。 那既然开始聊分布式系统了,自然重点先聊聊 dubbo 了,毕竟 dubbo 是目前事实上大部分公司的分布式系统的 rpc 框架标准,基于 dubbo 也可以构建一整套的微服务架构。但是需要自己大量开发。 当然去年开始 spring cloud 非常火,现在大量的公司开始转向 spring cloud 了,spring cloud 人家毕竟是微服务架构的全家桶式的这么一个东西。但是因为很多公司还在用 dubbo,所以 dubbo 肯定会是目前面试的重点,何况人家 dubbo 现在重启开源社区维护了,捐献给了 apache,未来应该也还是有一定市场和地位的。 既然聊 dubbo,那肯定是先从 dubbo 原理开始聊了,你先说说 dubbo 支撑 rpc 分布式调用的架构啥的,然后说说一次

生产环境中的 Redis 是怎么部署的?

南笙酒味 提交于 2020-10-05 06:09:12
面试题 生产环境中的 redis 是怎么部署的? 面试官心理分析 看看你了解不了解你们公司的 redis 生产集群的部署架构,如果你不了解,那么确实你就很失职了,你的 redis 是主从架构?集群架构?用了哪种集群方案?有没有做高可用保证?有没有开启持久化机制确保可以进行数据恢复?线上 redis 给几个 G 的内存?设置了哪些参数?压测后你们 redis 集群承载多少 QPS? 兄弟,这些你必须是门儿清的,否则你确实是没好好思考过。 面试题剖析 redis cluster,10 台机器,5 台机器部署了 redis 主实例,另外 5 台机器部署了 redis 的从实例,每个主实例挂了一个从实例,5 个节点对外提供读写服务,每个节点的读写高峰qps可能可以达到每秒 5 万,5 台机器最多是 25 万读写请求/s。 机器是什么配置?32G 内存+ 8 核 CPU + 1T 磁盘,但是分配给 redis 进程的是10g内存,一般线上生产环境,redis 的内存尽量不要超过 10g,超过 10g 可能会有问题。 5 台机器对外提供读写,一共有 50g 内存。 因为每个主实例都挂了一个从实例,所以是高可用的,任何一个主实例宕机,都会自动故障迁移,redis 从实例会自动变成主实例继续提供读写服务。 你往内存里写的是什么数据?每条数据的大小是多少?商品数据,每条数据是 10kb。100

Crawlab Lite 正式发布,更轻量的爬虫管理平台

不羁岁月 提交于 2020-08-12 03:57:56
Crawlab 是一款基于 Golang 的分布式爬虫管理平台,产品发布已经一年有余,经过开发团队的不断打磨,即将迭代到 v0.5 版本。在这期间我们为 Crawlab 加入了大量社区用户共同期望的功能,使产品更加专业。但与此同时我们也注意到,部分用户并不是分布式爬虫用户,他们更多只是在单机情况下使用 Crawlab。其次目前 Crawlab 逐步加入了丰富的功能,也使整个产品逐渐巨化,大部分用户并不能充分使用所有的功能。 因此 Crawlab Lite 作为 Crawlab 的轻量化版本正式发布,相较于 Crawlab,该版本将专注于解决单机环境下的爬虫管理,并且平台本身不再依赖任何外部数据库,现有以及未来加入的功能都仅限于高频使用的必需功能,做到最大化的功能克制。 功能特性 首次发布的版本为 v0.0.1 版本,该版本作为首个体验版本,已经具备了 Lite 版规划的核心功能,相较于 Crawlab 主要区别: 仅支持单机环境下的爬虫管理,不再具备分布式功能 内置依赖 Key-Value 文件数据库,运行不再需要配置外部数据库 删减了大量非必需的功能,平台更加轻量与易用 后端代码大量重构,平台的稳定和速度大幅提升 运行方式 我们依然保留通过 docker-componse 这种最方便的方式: 在任意目录下创建 docker-compose.yml ,内容如下: version:

Crawlab Lite 正式发布,更轻量的爬虫管理平台

佐手、 提交于 2020-08-11 17:39:37
Crawlab 是一款基于 Golang 的分布式爬虫管理平台,产品发布已经一年有余,经过开发团队的不断打磨,即将迭代到 v0.5 版本。在这期间我们为 Crawlab 加入了大量社区用户共同期望的功能,使产品更加专业。但与此同时我们也注意到,部分用户并不是分布式爬虫用户,他们更多只是在单机情况下使用 Crawlab。其次目前 Crawlab 逐步加入了丰富的功能,也使整个产品逐渐巨化,大部分用户并不能充分使用所有的功能。 因此 Crawlab Lite 作为 Crawlab 的轻量化版本正式发布,相较于 Crawlab,该版本将专注于解决单机环境下的爬虫管理,并且平台本身不再依赖任何外部数据库,现有以及未来加入的功能都仅限于高频使用的必需功能,做到最大化的功能克制。 功能特性 首次发布的版本为 v0.0.1 版本,该版本作为首个体验版本,已经具备了 Lite 版规划的核心功能,相较于 Crawlab 主要区别: 仅支持单机环境下的爬虫管理,不再具备分布式功能 内置依赖 Key-Value 文件数据库,运行不再需要配置外部数据库 删减了大量非必需的功能,平台更加轻量与易用 后端代码大量重构,平台的稳定和速度大幅提升 运行方式 我们依然保留通过 docker-componse 这种最方便的方式: 在任意目录下创建 docker-compose.yml ,内容如下: version:

Redis 的过期策略都有哪些?

我怕爱的太早我们不能终老 提交于 2020-08-11 10:28:39
面试题 redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现? 面试官心理分析 如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责? 常见的有两个问题: 往 redis 写入的数据怎么没了? 可能有同学会遇到,在生产环境的 redis 经常会丢掉一些数据,写进去了,过一会儿可能就没了。我的天,同学,你问这个问题就说明 redis 你就没用对啊。redis 是缓存,你给当存储了是吧? 啥叫缓存?用内存当缓存。内存是无限的吗,内存是很宝贵而且是有限的,磁盘是廉价而且是大量的。可能一台机器就几十个 G 的内存,但是可以有几个 T 的硬盘空间。redis 主要是基于内存来进行高性能、高并发的读写操作的。 那既然内存是有限的,比如 redis 就只能用 10G,你要是往里面写了 20G 的数据,会咋办?当然会干掉 10G 的数据,然后就保留 10G 的数据了。那干掉哪些数据?保留哪些数据?当然是干掉不常用的数据,保留常用的数据了。 数据明明过期了,怎么还占用着内存? 这是由 redis 的过期策略来决定。 面试题剖析 redis 过期策略 redis 过期策略是: 定期删除+惰性删除 。 所谓 定期删除 ,指的是 redis 默认是每隔 100ms

爬虫管理平台以及wordpress本地搭建

不想你离开。 提交于 2020-08-09 10:43:27
爬虫管理平台以及wordpress本地搭建 学习目标: 各爬虫管理平台了解 scrapydweb gerapy crawlab 各爬虫管理平台的本地搭建 Windows下的wordpress搭建 爬虫管理平台了解: scrapydweb: 用于Scrapyd实施管理的web应用程序,支持Scrapy日志分析和可视化 github地址:https://github.com/my8100/scrapydweb.git gerapy: 基于Scrapy,Scrapyd,Scrapyd-Client,Scrapyd-API,Django和Vue.js的分布式爬虫管理框架 相关的配置在我之前博客地址:https://www.cnblogs.com/xbhog/p/13336651.html 该项目github地址:https://github.com/Gerapy/Gerapy.git crawlab: 基于Golang的分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架. 文档地址:https://docs.crawlab.cn/zh/ GitHub地址:https://github.com/crawlab-team/crawlab.git 注意:前两个框架的搭建基于Scrapyd,如果不知道怎么配置可以看我之前写的博客: https://www.cnblogs.com/xbhog/p

如何基于 Dubbo 进行服务治理?

我怕爱的太早我们不能终老 提交于 2020-07-24 21:48:36
面试题 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试? 面试官心理分析 服务治理,这个问题如果问你,其实就是看看你有没有 服务治理 的思想,因为这个是做过复杂微服务的人肯定会遇到的一个问题。 服务降级 ,这个是涉及到复杂分布式系统中必备的一个话题,因为分布式系统互相来回调用,任何一个系统故障了,你不降级,直接就全盘崩溃?那就太坑爹了吧。 失败重试 ,分布式系统中网络请求如此频繁,要是因为网络问题不小心失败了一次,是不是要重试? 超时重试 ,跟上面一样,如果不小心网络慢一点,超时了,如何重试? 面试题剖析 服务治理 1. 调用链路自动生成 一个大型的分布式系统,或者说是用现在流行的微服务架构来说吧, 分布式系统由大量的服务组成 。那么这些服务之间互相是如何调用的?调用链路是啥?说实话,几乎到后面没人搞的清楚了,因为服务实在太多了,可能几百个甚至几千个服务。 那就需要基于 dubbo 做的分布式系统中,对各个服务之间的调用自动记录下来,然后自动将 各个服务之间的依赖关系和调用链路生成出来 ,做成一张图,显示出来,大家才可以看到对吧。 2. 服务访问压力以及时长统计 需要自动统计 各个接口和服务之间的调用次数以及访问延时 ,而且要分成两个级别。 一个级别是接口粒度,就是每个服务的每个接口每天被调用多少次,TP50/TP90/TP99,三个档次的请求延时分别是多少;

爬虫管理平台 Crawlab v0.4.6 发布

家住魔仙堡 提交于 2020-02-28 08:04:52
前言 本次更新主要集中在日志管理、任务触发、爬虫展示等优化,以及加入 Node.js SDK。 更新日志 功能 / 优化 Node.js SDK . 用户可以将 SDK 应用到他们的 Node.js 爬虫中. 日志管理优化 . 日志搜索,错误高亮,自动滚动. 任务执行流程优化 . 允许用户在触发任务后跳转到该任务详情页. 任务展示优化 . 在爬虫详情页的最近任务表格中加入了“参数”列. #295 爬虫列表优化 . 在爬虫列表页加入"更新时间"和"创建时间". #505 页面加载占位器 . Bug 修复 定时任务配置失去焦点 . #519 无法用 CLI 工具上传爬虫 . #524 产品规划 结果展示 支持其他数据库 爬虫 支持 Git 仓库同步 更好的 Scrapy 支持 更好的长任务支持 可配置爬虫 可配置爬虫支持 Splash 可配置爬虫支持 CrawlSpider 可配置爬虫支持正则表达式字段 可配置爬虫支持转化为自定义爬虫 任务 任务重试机制 定时任务 日历展示 全局 支持版本更新检测 支持版本更新日志展示 服务器 支持终端操作 Docker 镜像 SDK 更多命令支持 支持 Golang、Java 插件系统 参考 Github: https://github.com/crawlab-team/crawlab Demo: https://crawlab.cn/demo 社区

爬虫管理平台 Crawlab v0.4.5 发布

我只是一个虾纸丫 提交于 2020-02-26 06:34:57
前言 本次修复主要集中在 Bug 修复和一些必要的优化。 更新日志 功能 / 优化 交互式教程 . 引导用户了解 Crawlab 的主要功能. 加入全局环境变量 . 可以设置全局环境变量,然后传入到所有爬虫程序中. #177 项目 . 允许用户将爬虫关联到项目上. #316 示例爬虫 . 当初始化时,自动加入示例爬虫. #379 用户管理优化 . 限制管理用户的权限. #456 设置页面优化 . 任务结果页面优化 . Bug 修复 无法找到爬虫文件错误 . #485 点击删除按钮导致跳转 . #480 无法在空爬虫里创建文件 . #479 下载结果错误 . #465 crawlab-sdk CLI 错误 . #458 页面刷新问题 . #441 结果不支持 JSON . #202 修复“删除爬虫后获取所有爬虫”错误 . 修复 i18n 警告 . 参考 Github: https://github.com/crawlab-team/crawlab Demo: https://crawlab.cn/demo 社区 如果您觉得 Crawlab 对您的日常开发或公司有帮助,请加作者微信 tikazyq1 并注明 "Crawlab",作者会将你拉入群。欢迎在 Github 上进行 star,以及,如果遇到任何问题,请随时在 Github 上提 issue。另外,欢迎您对 Crawlab

爬虫管理平台Crawlab v0.4.3发布(界面上点几下就可安装pip或npm依赖)

被刻印的时光 ゝ 提交于 2020-01-07 17:57:14
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 Crawlab 是一款受人欢迎的分布式通用爬虫管理平台,由 Crawlab 开发组 开发和维护。自去年 3 月份上线以来, Crawlab 因为极其强大的灵活性、简单精美的操作界面以及健壮而稳定稳定的功能表现,不断受到爬虫工程师和开发者的喜爱和好评,如今已经有了近 4k Github 标星和超过 8k Docker 下载。在最近的一次调研中,超过三分之一的参与调查者都表示已经将 Crawlab 应用于了生产环境。 对 Crawlab 还不了解的同学,可以参考以下相关文章或文档: Github Repo Crawlab 文档 Crawlab Demo 爬虫管理平台Crawlab v0.4.2发布(文件管理) 爬虫管理平台Crawlab v0.4.1发布(可配置爬虫) 爬虫平台Crawlab核心原理--分布式架构 经过 8 个月的迭代和优化, Crawlab 已经变得更加稳定和易用,不过随之而来的也是用户的建议和反馈,其中一个比较大的痛点是爬虫的 依赖安装 。简单来说,由于 Crawlab 主要是由 Docker 来安装,基础镜像只有 Python 的一些与爬虫和 Crawlab 相关的库,如果需要安装一些爬虫必要的依赖,例如数据库操作库 pymysql 等等,就必须做一些 hack