爬虫 spider12——暂停小总结_爬虫流程_微服务架构流程

工具idea

所用的技术类型:

Maven+mybatis+ssm+springboot+springcloud+redis+elasticsearch+mysql

在springcloud中运用到Eureka服务注册与发现的集群分布+feign框架实现的rest接口调用+ribbon的负载均衡+Hystrix的处理分布式系统的延迟和容错的开源库

 

爬虫流程:

  1. 确定首页URL,在谷歌浏览器中F12,往下滑动页面,找到真正的url,因为页面是以ajax请求进行的。
  2. 发送请求,获取数据。设置定时器持续爬取数据,将爬取的源数据从string转化为json,再将json转化为对象存储带list集合中。
  3. 解析数据。设置条件判断进行数据的有效性检验,采用redis去重,将url设置为redis中的key,判断redis中是否存在相同地址,不存在则添加到数据库和同步到redis,否则不添加数据到数据库。
  4. 存储数据,使用mybatis进行数据的插入。

 

项目目前流程:.

  1. 用户发起请求,如localhost:9001/search?keyword=黄
  2. 利用feign框架实现rest接口调用
  3. {其服务提供者和服务消费者均注册在eurekaserver中}并且eureka以集群分布式的形式,避免了单点故障,以及eureka所面临的高并发问题
  4. 通过ribbon的自定义负载均衡算法进行负载均衡。然后告知用户下一步的请求资源所在处。
  5. 在整个过程中,服务监控hystrixboard全程监控其流程,以便处理分布式系统的延迟和容错

 

从理念上讲,分布式的实现有两种形式:

水平扩展:当一台机器扛不住流量时,就通过添加机器的方式,将流量平分到所有服务器上,所有机器都可以提供相当的服务;

垂直拆分:前端有多种查询需求时,一台机器扛不住,可以将不同的需求分发到不同的机器上,比如A机器处理余票查询的请求,B机器处理支付的请求。

在目前的整个项目中,用到了分布式的水平扩展,也就是我们所说的集群。但由于项目板块不多,所以并未使用垂直拆分。

 

【补充】ribbon实现负载均衡

爬虫 spider12——暂停小总结_爬虫流程_微服务架构流程

相关文章:

  • 2021-11-06
  • 2022-12-23
  • 2021-06-27
  • 2021-12-08
  • 2021-06-14
  • 2021-09-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2023-03-09
  • 2021-12-03
  • 2021-12-21
  • 2022-01-13
相关资源
相似解决方案