当前位置: 首页 > news >正文

湖北分行建设银行网站百度优化怎么做

湖北分行建设银行网站,百度优化怎么做,联系昆明网站建设,网上书城网站开发说明书Hystrix停更,那么Spring Cloud生态中是否有替代产品呢? Alibaba Sentinel Sentinel 是阿里巴巴开源的一款断路器实现,目前在Spring Cloud的孵化器项目Spring Cloud Alibaba中,预计Spring Cloud H系列中可以孵化完成。 尽管Sent…

Hystrix停更,那么Spring Cloud生态中是否有替代产品呢?

Alibaba Sentinel

Sentinel 是阿里巴巴开源的一款断路器实现,目前在Spring Cloud的孵化器项目Spring Cloud Alibaba中,预计Spring Cloud H系列中可以孵化完成。

尽管Sentinel尚未在Spring Cloud项目中孵化完成,但Sentinel本身在阿里内部已经被大规模采用,非常稳定。因此可以作为一个较好的替代品。

Resilience4J

Resilicence4J 在今年的7月进入笔者视野,小玩了一下,觉得非常轻量、简单,并且文档非常清晰、丰富。个人比较看好,这也是Hystrix官方推荐的替代产品

不仅如此,Resilicence4j还原生支持Spring Boot 1.x/2.x,而且监控也不像Hystrix一样弄Dashboard/Hystrix等一堆轮子,而是支持和Micrometer(Pivotal开源的监控门面,Spring Boot 2.x中的Actuator就是基于Micrometer的)、prometheus(开源监控系统,来自谷歌的论文)、以及Dropwizard metrics(Spring Boot曾经的模仿对象,类似于Spring Boot)进行整合。

笔者特别看重Resilience4J和micrometer整合的能力,这意味着:如果你用Spring Boot 2.x并在项目中引入Resilience4J,那么监控数据和Actuator天生就是打通的!你不再需要一个专属的、类似于Hystrix Dashboard的东西去监控断路器。


 

Hystrix宣布停止维护 后,社区推荐了Resilience4j ,而业界还有Alibaba Sentinel可供选择——3款产品各有优势,具体的功能差异参考下表,该表来自 Sentinel Wiki :

 SentinelHystrixresilience4j
隔离策略信号量隔离(并发线程数限流)线程池隔离/信号量隔离信号量隔离
熔断降级策略基于响应时间、异常比率、异常数基于异常比率基于异常比率、响应时间
实时统计实现滑动窗口(LeapArray)滑动窗口(基于 RxJava)Ring Bit Buffer
动态规则配置支持多种数据源支持多种数据源有限支持
扩展性多个扩展点插件的形式接口的形式
基于注解的支持支持支持支持
限流基于 QPS,支持基于调用关系的限流有限的支持Rate Limiter
流量整形支持预热模式、匀速器模式、预热排队模式不支持简单的 Rate Limiter 模式
系统自适应保护支持不支持不支持
控制台提供开箱即用的控制台,可配置规则、查看秒级监控、机器发现等简单的监控查看不提供控制台,可对接其它监控系统

 

目前,Sentinel 在 Spring Cloud Alibaba中已适配Spring Cloud体系,完全可用来替代 Hystrix 的功能。不仅如此,阿里内部很多产品线都已使用Sentinel实现限流降级,Sentinel是经过生产流量大规模验证的。

下面来探讨如何从Hystrix迁移至Sentinel——

Spring Cloud Alibaba Sentinel 代替 Hystrix

要想使用Spring Cloud Alibaba Sentinel,需添加如下依赖,并去除Spring Cloud Netflix Hystrix( spring-cloud-starter-netflix-hystrix )的依赖。

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-alibaba-sentinel</artifactId><version>0.2.1.RELEASE</version>
</dependency>

0代码修改兼容Feign

加上Feign的依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>${latest.version}</version>
</dependency>

application.yml 中添加feign.sentinel.enabled=true 即可为Feign启用Sentinel支持:

# 去掉
# feign.hystrix.enabled: true
# 改为如下即可
feign.sentinel.enabled: true

Feign Client无需修改:

@FeignClient(name = "service-provider")
public interface EchoService {@RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)String echo(@PathVariable("str") String str);@RequestMapping(value = "/echo/save", method = RequestMethod.POST)String save(Foo foo);
}

对于这个 EchoService,echo方法对应的资源名是 GET:http://service-provider/echo/{str}, save 方法对应的资源名是 POST:http://service-provider/echo/save

只需配置这些规则,限流降级操作即可生效。

一行代码支持RestTemplate

Sentinel与Spring生态的 RestTemplate 也进行了整合,可对 RestTemplate 请求过程进行限流和降级,只需在构造 RestTemplate 的时候加上 @SentinelRestTemplate 注解即可,如下所示:

@Bean
@SentinelRestTemplate
public RestTemplate restTemplate() {return new RestTemplate();
}

@SentinelRestTemplate 注解还暴露出了对应的属性可进行限流降级后的自定义错误,默认的行为是返回 “RestTemplate request block by sentinel” 信息。关于 @SentinelRestTemplate 的详细信息可以参考 Wiki。

 


迁移系列:

https://my.oschina.net/eacdy/blog/2962937

https://yq.aliyun.com/articles/691128

https://yq.aliyun.com/articles/691135

https://yq.aliyun.com/articles/691501

https://yq.aliyun.com/articles/691504

http://www.lbrq.cn/news/2691865.html

相关文章:

  • 不带区域的公司名称怎么注册深圳谷歌seo公司
  • 哪个软件购物便宜又好网站权重优化
  • 网站制作关键词搜索引擎查关键词排名的软件
  • 南京网站设计搭建公司今天热搜榜前十名
  • 网站建设岗位能力网站运营优化培训
  • 如何跟帖做网站如何自己做网站
  • wordpress安装音乐插件谷歌aso优化
  • 个人可以备案网站百度指数三个功能模块
  • 免费教做面食的网站seo外包是什么
  • 网站基础建设一般多少钱网络营销策划与创意
  • 建站后角度是不是0熊猫关键词工具官网
  • 定制app网站看广告赚钱一天50元
  • 赣县网站建设北京网络推广公司
  • 建设商城网站制作杭州网站seo推广
  • 打好代码怎么做网站重庆公司网站seo
  • 哪个网站可以领手工回家做网络运营主要做什么工作
  • 360网站排名怎么做搜索引擎网站优化推广
  • 张家口做网站的公司夫唯seo培训
  • 购物网站开发意义网站如何宣传推广
  • wordpress今日更新模板windows优化大师怎么下载
  • 从事赌博类网站建设的哈尔滨百度推广公司
  • 网站日志分析怎么做上海百度推广客服电话
  • 2023年8月上海疫情爆发企业seo顾问公司
  • 厦门网站设计公司百度推广客服
  • h5可以发在哪些平台上seo研究所
  • wordpress整站生成html免费二级域名分发网站
  • 网站如何合理建设seo软文营销的特点
  • bootstrap wordpress主题seo网站推广的主要目的
  • 大学班级网站建设全国各城市疫情搜索高峰进度
  • ai智能设计logo免费2022最好的百度seo
  • ubuntu24下keychorn键盘连接不了的改建页面的问题修复
  • 深入解析ArrayList与LinkedList的区别:如何正确选择?
  • scikit-learn/sklearn学习|岭回归解读
  • 安全合规4--下一代防火墙组网
  • Knuth‘s TwoSum Algorithm 原理详解
  • MySQL 子查询