加入收藏 | 设为首页 | 会员中心 | 我要投稿 宣城站长网 (https://www.0563zz.cn/)- 数据湖、行业智能、边缘计算、开发、备份!
当前位置: 首页 > 站长资讯 > 动态 > 正文

机器如何使我们相遇?

发布时间:2021-02-05 16:01:17 所属栏目:动态 来源:互联网
导读:线程池隔离技术优点 依赖的服务都有隔离的线程池,即使自己的线程池满了,也不会影响任何其他其他的服务调用。 线程池的健康状态会上报,可以近实时修改依赖服务的调用配置。 线程池具有异步特性,可以构建一层异步调用层。 具有超时检测的机制,尤其在服务

线程池隔离技术优点

  • 依赖的服务都有隔离的线程池,即使自己的线程池满了,也不会影响任何其他其他的服务调用。
  • 线程池的健康状态会上报,可以近实时修改依赖服务的调用配置。
  • 线程池具有异步特性,可以构建一层异步调用层。
  • 具有超时检测的机制,尤其在服务间调用特别有用。

线程池隔离技术缺点

  • 线程池本身就会带来一些问题,比如线程切换,线程管理,无疑增加了 CPU 的开销。
  • 如果线程池中的线程利用率很低,则无疑是一种浪费。

Hystrix 信号量隔离技术

如下图所示:简单来说就是一个池子里面放着一定数量的信号量,服务 A 每次调用服务 B 之前,需要从池子里面申请信号量,申请到了,才能去调用 B 服务。
 

对请求的流量进行控制, 只放行部分请求,使服务能够承担不超过自己能力的流量压力。

熔断和降级的相同点?

  • 熔断和限流都是为了保证集群大部分服务的可用性和可靠性。防止核心服务崩溃。
  • 给终端用户的感受就是某个功能不可用。

熔断和降级的不同点?

  • 熔断是被调用方出现了故障,主动触发的操作。
  • 降级是基于全局考虑,停止某些正常服务,释放资源。

什么是隔离?

  • 每个服务看作一个独立运行的系统,即使某一个系统有问题,也不会影响其他服务。

二、Hystrix

Hystrix 是什么

Hystrix:高可用性保障的一个框架。由 Netflix 出品(Netflix可以理解为国内的爱奇艺等视频网站)。

Hystrix 的历史

  • 2011 年,其中的 API 团队为了提升系统的可用性和稳定性,发展出了 Hystrix 框架。
  • 2012 年,Hystrix 区域比较成熟稳定。其他团队也开始使用 Hystrix。
  • 2018 年 11 月,Hystrix在其 Github 主页宣布,不再开放新功能,推荐开发者使用其他仍然活跃的开源项目。但是 Hystrix 价值依旧很大,功能强大,国内很多一线互联网公司在使用。

Hystrix 设计理念

  • 阻止服务的雪崩效应。
  • 快速失败和快速恢复。
  • 优雅降级。
  • 使用资源隔离技术,如 bulkhead(舱壁隔离技术)、swimlane(泳道技术)、circuit breaker(断路技术)。
  • 近实时的监控、报警及运维操作。

Hystrix 线程池隔离技术

使用线程池隔离,比如说有 3 个服务 A、B、C,每个服务的线程池分配 10,20,30个线程,当 A 服务线程池中的 10 个线程都拿出来使用后,如果调用服务 A 的请求量增加,还想再增加线程是不行的,因为 A 服务分配的线程已经用完了,不会拿其他的服务的线程,这样就不会影响其他服务了。Hystrix 默认使用线程池隔离模式。

(编辑:宣城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读