网站改版方案ppt,深圳设计公司名字,宿迁公司做网站,wordpress 主页设置在一些互联网项目中高并发的场景很多#xff0c;瞬间流量很大#xff0c;会导致我们服务不可用。
sentinel则可以保证我们服务的正常运行#xff0c;提供限流、熔断、降级等方法来实现
一.限流#xff1a; 1.导入坐标
dependencygroupIdcom.alibaba.c… 在一些互联网项目中高并发的场景很多瞬间流量很大会导致我们服务不可用。
sentinel则可以保证我们服务的正常运行提供限流、熔断、降级等方法来实现
一.限流 1.导入坐标
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-sentinel/artifactId/dependency 2.配置
spring:cloud:sentinel:transport:port: 8179dashboard: 127.0.0.1:8333 3.下在sentinel对应的版本服务并启动 4.按照界面操作 二.熔断降级 开启熔断之后实现远程调用的接口并实现方法(在方法内定义熔断之后的返回值)通过fallback指定实现类则完成简单服务的调用方熔断。
feign:sentinel:enabled: true # 开启远程的熔断
FeignClient(value product,fallback ProductFeignBack.class)
public interface ProductFeignService {GetMapping(/sentinelFeign)String sentinelFeign();
}Slf4j
Component
public class ProductFeignBack implements ProductFeignService {Overridepublic String sentinelFeign() {log.info(被降级了....);return error;}
}
三.网关限流
在前面的提到的限流是针对服务本身的限流在sentinel里面也支持网关的限流这样请求直接在网关就被拦截不会到指定的服务才被拦截。
实现网关的限流也非常简单导入坐标然后直接操作界面就行
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-sentinel-gateway/artifactId/dependency 四.链路追踪zipkin界面展示
在前面的操作中不管是限流还是熔断降级我们目的是为了保证在高并发的情况下服务能正常运行。
但是在实际的业务中我们一个功能的实现需要调用多个服务才能实现功能那在服务调用的过程中我们怎样分析查看各个服务的执行时间或者是否成功以便后期我们分析优化。链路追踪就很好的帮我们完成该统计。zipkin通过界面化的展示更加直观清晰
实现步骤 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-sleuth/artifactId/dependency
logging:level:org:springframework:cloud:openfeign: debugsleuth: debug在通过导入坐标和配置之后我们就可以通过日志的方式查看链路但是实际的实际的生产环境中我们不可能根据日志查看链路。我们可以通过zipkin界面的方式查看。
zipkin的实现步骤
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zipkin/artifactId/dependency
注意导入zipkin坐标之后sleuth坐标就可以不用导入了因为里面包括了sleuth
springzipkin:base-url: http://192.168.127.129:9411discovery-client-enabled: false # 关闭服务发现 佛欧泽cloud会把zipkin的url当服务名称sender:type: web # 设置http的方式传输数据sleuth:sampler:probability: 1 # 设置抽样采集率和100% 默认10%
在导入坐标和配置之后还需要下载并启动zipkin的服务因为链路追踪可视化的数据来源于zipkin的服务最终通过访问zipkin的服务就可以通过界面的方式查看到每一次访问的链路情况。