
Spring Cloud Alibaba
文章平均质量分 96
thymeFree
这个作者很懒,什么都没留下…
展开
-
Spring Cloud Alibaba 教程(基于首个毕业版)(十四):扩展Sentinel- 实现区分来源
本文实现sentinel实现区分来源一、为什么实现区分来源在前面的博客中,我们在设置流控规则时我们发现有个针对来源,设置授权规则时我们发现有个流控应用,那两个到底怎么用的呢?下面为你揭晓二、实现2.1 新建类实现 RequestOriginParser 接口@Componentpublic class MyRequestOriginParser implements Req...原创 2019-11-26 21:19:46 · 419 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(十五):扩展Sentinel- RestfulURL支持
本文介绍扩展Sentinel-对RestfulURL支持一、为什么要扩展?在之前的请求中,我们有个接口是/shares/{id},当id 为1时 我们请求,sentinel的控制面板中会有/shares/1,我们id为2时请求,sentinel的控制面板中会有/shares/2,我们给/shares/1设置流控规则时,/shares/2并不会应用这个规则,这明显不符合restful的风格,...原创 2019-11-26 21:18:12 · 359 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(十三):扩展Sentinel- 错误页面优化
本文实现sentinel对错误页面的优化一、为什么要扩展?在项目的实际开发中,我们在对接口限流和降级等等设定规则之后,一旦达到阈值之后页面就会给一段话,对于使用人员来说是很不友好的,所以我们需要来定义一个统一的返回二、实现2.1 创建一个统一返回的类@Data@Builder@AllArgsConstructor@NoArgsConstructorclass Erro...原创 2019-11-26 21:17:30 · 364 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(一):使用Nacos实现服务注册与发现
开篇 一年多前,阿里开源 Spring Cloud Alibaba,并推出首个预览版。Spring Cloud 本身是一套微服务规范,并不是一个拿来即可用的框架,而 Spring Cloud Alibaba 的开源为开发者们提供了这套规范的实现方式。同时,Spring Cloud Alibaba 提供的完整的微服务组件、中文文档和本地化的开源服务提高了开发者们接入微服务的速率,并降低...原创 2019-11-01 12:07:12 · 846 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(十二):如何在生产环境中使用Sentinel
之前的博文已经介绍了两种方式去推送规则,其中推模式更适用于生产环境,但是需要修改的东西较多不太方便下面介绍AHAS Sentinel 控制台一、定义AHAS Sentinel 控制台是 Sentinel 控制台的阿里云上版本,提供企业级的控制台服务,包括:可靠的实时监控和历史秒级监控数据查询 热力图概览,可以快速定位不稳定的机器 动态规则管理/推送,无需自行配置外部数据源 实...原创 2019-11-20 20:23:27 · 383 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(十一):Sentinel 规则持久化-推模式
本文实现基于拉模式的Alibaba Sentinel规则持久化。一、原理简述控制台推送规则: 将规则推送到Nacos或其他远程配置中心 Sentinel客户端链接Nacos,获取规则配置;并监听Nacos配置变化,如发生变化,就更新本地缓存(从而让本地缓存总是和Nacos一致) 控制台监听Nacos配置变化,如发生变化就更新本地缓存(从而让控制台本地缓存总是和Nacos一致)...原创 2019-11-20 19:41:54 · 441 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(十):Sentinel 规则持久化-拉模式
本文实现基于拉模式的Alibaba Sentinel规则持久化。一、原理简述FileRefreshableDataSource 定时从指定文件中读取规则JSON文件【图中的本地文件】,如果发现文件发生变化,就更新规则缓存。 FileWritableDataSource 接收控制台规则推送,并根据配置,修改规则JSON文件【图中的本地文件】。二、编写修改Spring Cloud Al...原创 2019-11-20 19:41:16 · 201 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(九):RestTemplate和Feign整合Sentinel
RestTemplate整合Sentinel第一步:打开@SentinelRestTemplate注解配置 yml文件resttemplate: sentinel: # 打开@SentinelRestTemplate注解 enabled: true第二步:新建BlockHandler类和FallBackHandler类处理限流降级@Slf4jpublic ...原创 2019-11-13 16:48:50 · 401 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(八):@SentinelResource 详解
Sentinel 提供了@SentinelResource注解用于定义资源,并提供了 AspectJ 的扩展用于自动定义资源、处理BlockException等。1. @SentinelResource注解 属性总结 属性 作用 是否必须 value 资源名称 是 entryType entry类型,...原创 2019-11-12 22:58:50 · 216 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(七):SentinelAPI 详解
本篇博客将为大家介绍SentinelAPI1. SphU(官方文档)1.1 概念SphU包含了 try-catch 风格的 API。用这种方式,当资源发生了限流之后会抛出BlockException。这个时候可以捕捉异常,进行限流之后的逻辑处理。1.2 示例第一步:在TestController 新建一个方法@GetMapping("/test-sentinel...原创 2019-11-12 22:57:25 · 257 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(六):Sentinel限流、降级等规则介绍
上篇我们已经成功接入了Sentinel控制台接下来,我们将介绍控制台1.实时监控我们在浏览器请求之前的接口/shares/1会发现实时监控会把我们请求信息显示出来2.簇点链路通过控制台菜单,我们可以查看所有的簇点3.流控规则(官方文档)3.1概述流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以...原创 2019-11-11 22:56:48 · 361 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(五):接入Sentinel控制台
雪崩效应在介绍sentinel之前,首先介绍一下雪崩效应,什么是雪崩效应呢?服务雪崩效应是一种因“服务提供者的不可用”(原因)导致“服务调用者不可用”(结果),并将不可用逐渐放大的现象。服务雪崩的过程的三个阶段:服务提供者不可用 重试加大请求流量 服务调用者不可用常见的服务容错的思想:超时 限流 仓壁模式 断路器模式Sentinel是什么?Sentinel的官方标...原创 2019-11-11 22:54:39 · 207 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(四):Feign实现HTTP 远程调用
Feign简介Feign 是一个声明式的伪RPC的REST客户端,它用了基于接口的注解方式,很方便的客户端配置,刚开始使用时还不习惯,感觉是在客户端写服务端的代码,Spring Cloud 给 Feign 添加了支持Spring MVC注解,并整合Ribbon及Eureka进行支持负载均衡。如何使用Feign在前面的博客中,我们已经使用过了,让参照前面的博客《Spring Cloud ...原创 2019-11-07 22:51:16 · 206 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(三):Ribbon实现负载均衡
Ribbon是什么?Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在...原创 2019-11-06 20:44:24 · 335 阅读 · 0 评论 -
Spring Cloud Alibaba 教程(基于首个毕业版)(二):使用Nacos引入服务发现
上篇博客已经为大家简单介绍了Spring Cloud Alibaba以及组件Nacos并且实现了服务注册与发现,接下来本篇博客为大家介绍两个实例引入服务发现。我们已经创建了两个服务一个是user另一个是content目录结构为:服务生产者首先我们在User项目中编写一个接口(具体实现省略,此处不涉及业务)@RestController@RequestMapping("/user...原创 2019-11-06 20:43:07 · 230 阅读 · 0 评论