摘要:
前言 在开发十万博客系统的的过程中,前面主要分享了爬虫、缓存穿透以及文章阅读量计数等等。爬虫的目的就是解决十万+问题;缓存穿透是为了保护后端数据库查询服务;计数服务解决了接近真实阅读数以及数据库服务的压力。 架构图 限流 就拿十万博客来说,如果存在热点文章,可能会有数十万级别的并发用户参与阅读。如果 阅读全文
摘要:
前言 前阵子有网友询问,如何优化网站?这个问题真的很大,跟他简单的聊了一下,随便说了几点,觉得有必要整理一篇文章出来,正好前阵子在做爬虫博客,于是把大体思路分享出来,与大家互通有无,共同进步。 优化 版本一 系统开始是这样子的,一个 Tomcat 拖着一个 MySql 服务,跑在一个 2C 4G 的 阅读全文
摘要:
前言 在经历了,缓存、限流、布隆穿透等等一系列加强功能,十万博客基本算是成型,网站上线以后也加入了百度统计来见证十万+ 的整个过程。 但是百度统计并不能对每篇博文进行详细的浏览量统计,如果做一些热点博文排行、48小时排行之类统计,还需要引入浏览量统计功能。 设计 通常情况下,我们只需要每次请求浏览量 阅读全文
摘要:
前言 在博客系统中,为了提升响应速度,加入了 Redis 缓存,把文章主键 ID 作为 key 值去缓存查询,如果不存在对应的 value,就去数据库中查找 。这个时候,如果请求的并发量很大,就会对后端的数据库服务造成很大的压力。 造成原因 业务自身代码或数据出现问题 恶意攻击、爬虫造成大量空的命中 阅读全文
摘要:
流程图 以上是一个请假的流程图,以下为流程任务节点描述: 员工发起请假流程 部门经理审批 同意则进入人事审批 拒绝则调整申请或者直接结束流程 人事审批通过则进入销假环节 人事审批拒绝则调整申请或者直接结束流程 员工销假结束流程 任务分配 员工发起申请 部门经理审批 通过逻辑: 拒绝逻辑: 待办任务 阅读全文
摘要:
前言 通过 Python 爬取十万博文之后,最重要的是要让互联网用户访问到,那么如何做呢? 选型 从后台框架、前端模板、数据库连接池、缓存、代理服务、限流等组件多个维度选型。 后台框架 SpringBoot2+、JPA 前端框架 Vue 模块框架 Thymeleaf 数据库连接池 HikariCP 阅读全文
摘要:
前言 这里以爬取博客园文章为例,仅供学习参考,某些AD满天飞的网站太浪费爬虫的感情了。 爬取 使用 BeautifulSoup 获取博文 通过 html2text 将 Html 转 Markdown 保存 Markdown 到本地文件 下载 Markdown 中的图片到本地并替换图片地址 写入数据库 阅读全文
摘要:
前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等。一般会通过硬编码、配置文件或者数据库的形式实现。 那么问题来了,如何更加优雅的实现?欢迎来到 Nacos 的世界! Nacos 配置管理 Nacos 是阿里巴巴的开源的项目,全称 Naming Conf 阅读全文
摘要:
前言 从零学 Python 案例,自从提交第一个妹子图版本引来了不少小伙伴的兴趣。最近,很多小伙伴发来私信说,妹子图不能爬了!? 趁着周末试了一把,果然爬不动了,爬下来的都是些 0kb 的假图片,然后就是一系列的报错信息,显然妹子图图长已经做了防御措施。 伪装 无论怎么做防御措施,总不能把正常用户也 阅读全文
摘要:
前言 在分布式系统中,为了提升系统性能,通常会对单体项目进行拆分,分解成多个基于功能的微服务,如果有条件,可能还会对单个微服务进行水平扩展,保证服务高可用。 那么问题来了,如果使用传统管理 Session 的方式,我们会遇到什么样的问题? 案例 这里拿下单举例,用户小明在天猫上相中了一个的娃娃,觉得 阅读全文