首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    hystrix并发不友好?sentinel怎么样?

    最近公司压测,业务系统压测效果一直不是很好,细问之下才知道,在业务系统中会调用很多下游服务。为了控制调用下游服务的时间,防止太长的响应时间拖垮应用,他们针对每一个下游应用的调用处都使用hystrix进行线程池隔离来进行保护应用。而在使用时加入了execution.isolation.thread.timeoutInMilliseconds来控制每次请求的超时熔断降级,其主要目的是用于处理系统rpc调用中的慢调用,在rpc调用超时的时候会进入fallback逻辑。这种模式虽然在一定程度上能保护应用,而且能够达到超时快速失败的效果,但是在高并发场景下,稍微慢一些的慢调用多起来之后,整个线程池很快就会打满,对系统产生影响。虽然与本文的重点内容无关,但我还是想先来分析一下hystrix线程池隔离超时熔断降级的原理。

    04

    Java线程的join操作有什么作用?

    计算机为了提升CPU使用效率和交互性而引入了并发机制,任务的执行也抽象成了线程,并发机制让一个CPU能够轮流执行多个线程,从宏观上看多个线程就像是同时执行一样。并发使得线程的执行顺序不容易控制,而实际工程中很多场景都会涉及某个线程需要依赖另外一个或几个线程的执行结果,这就要被依赖的线程需要先执行完,这时就需要join操作。比如下面的场景,假如要计算A+B的结果且A和B的计算都比较耗时,那么我们将B的计算分给另外一个线程,而线程一则负责A的计算。如果线程一先执行完则它要等待线程二,直到线程二计算出B的结果后线程一才继续往下执行,去计算A+B。

    04
    领券