spring cloud alibaba
文章平均质量分 70
_lrs
这个作者很懒,什么都没留下…
展开
-
spring cloud alibaba 学习(三十二)整合SkyWalking
目录一、简介二、安装服务端三、安装agent四、使用agent一、简介 SkyWalking是一个APM(应用程序性能监控)系统,专为微服务、云原生和基于容器的架构而设计,包括了分布式链路追踪,性能指标分析和服务依赖分析等功能。 Skywalking 支持Java等探针,数据存储支持Elasticsearch等。https://github.com/apache/skywalking二、安装服务端1、下载原创 2022-03-22 23:43:58 · 2992 阅读 · 0 评论 -
spring cloud alibaba 学习(三十一)spring cloud gateway InMemoryRouteDefinitionRepository
目录前言一、引入依赖二、ControllerEndpointHandlerMapping三、GatewayControllerEndpoint四、InMemoryRouteDefinitionRepository总结前言通过接口注册的路由信息保存在 InMemoryRouteDefinitionRepository 中。一、引入依赖 <dependency> <groupId>org.springframework.boot</groupI原创 2022-03-22 21:36:01 · 1340 阅读 · 0 评论 -
spring cloud alibaba 学习(三十)spring cloud gateway DiscoveryClientRouteDefinitionLocator
目录前言一、DiscoveryLocatorProperties二、DiscoveryClientRouteDefinitionLocator三、RefreshRoutesEvent总结前言DiscoveryClientRouteDefinitionLocator 用于从配置中心加载服务信息,并创建相应的路由。我这里使用的配置中心是nacos。一、DiscoveryLocatorProperties@ConfigurationProperties("spring.cloud.gateway.di原创 2022-03-20 18:40:52 · 1161 阅读 · 1 评论 -
spring cloud alibaba 学习(二十九)spring cloud gateway 的调用流程
目录一、流程二、DispatcherHandler三、FilteringWebHandler一、流程1、DispatcherHandler 请求分发器,获取RoutePredicateHandlerMapping等2、RoutePredicateHandlerMapping 路由处理器映射器,通过谓词匹配出合适的路由和WebHandler,如FilteringWebHandler等3、FilteringWebHandle r使用Filter链处理请求二、DispatcherHandler1、原创 2022-03-20 15:12:28 · 819 阅读 · 0 评论 -
spring cloud alibaba 学习(二十八)spring cloud gateway 的启动流程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimp.原创 2022-03-19 23:46:48 · 956 阅读 · 0 评论 -
spring cloud alibaba 学习(二十七)整合 spring cloud gateway
目录前言一、概念二、环境三、测试前言spring cloud gateway 是基于Spring5.0+SpringBoot2.0+WebFlux,是非阻塞异步的框架,为微服务架构提供了简单有效的统一的API路由管理。一、概念1、RouteDefinition路由的元数据信息,包含路由id、目标uri、断言元数据信息PredicateDefinition、过滤器元数据信息FilterDefinition 等,可以通过配置文件配置。2、Route路由,包含路由id,目标uri,断言Asy.原创 2022-03-19 20:09:29 · 406 阅读 · 0 评论 -
spring cloud alibaba 学习(二十六)nacos 配置信息动态更新
目录前言一、ClientWorker二、NacosContextRefresher总结前言 nacos 客户端通过定时任务动态从 nacos 服务端拉取最新配置信息。一、ClientWorker1、在 NacosConfigService 中会创建 ClientWorker,会启动客户端线程更新配置信息 this.worker = new ClientWorker(this.agent, this.configFilterChainManager, properties);2、Cli..原创 2022-03-13 22:42:27 · 1891 阅读 · 1 评论 -
spring cloud alibaba 学习(二十五)nacos 服务地址动态更新
目录前言服务地址动态更新前言通过配置endpoint来实现服务地址的动态更新。服务地址动态更新1、在 NacosConfigBootstrapConfiguration 创建 NacosConfigManager 的过程中,会创建NacosConfigServiceNacosConfigBootstrapConfiguration.java @Bean @ConditionalOnMissingBean public NacosConfigManager nacosConfigM..原创 2022-03-12 21:58:02 · 675 阅读 · 0 评论 -
spring cloud alibaba 学习(二十四)nacos 从配置中心加载配置
目录前言一、启动流程二、动态刷新流程前言。一、启动流程在启动main()过程中,会调用SpringApplication.run(CloudApplication.class, args);-> prepareContext() -> applyInitializers() -> initializer.initialize(context);会调用 ApplicationContextInitializer 的 initialize( ) 方法Propert..原创 2022-03-09 22:50:20 · 897 阅读 · 0 评论 -
spring cloud alibaba 学习(二十三)nacos 配置中心的使用
目录前言一、环境二、测试1、使用 @RefreshScope + @Value2、使用 @RefreshScope + @ConfigurationProperties前言在系统开发、测试、部署的过程中,在不同的环境会使用不同的配置信息,都会出现一些配置信息的变更,Nacos可以作为配置中心,用来存储和管理配置信息。一、环境1、引入依赖<dependency> <groupId>com.alibaba.cloud</groupId> <a..原创 2022-03-08 22:30:41 · 386 阅读 · 0 评论 -
spring cloud alibaba 学习(二十二)Sentinel 与 OpenFeign服务熔断总结
目录前言一、pandas是什么?前言。一、pandas是什么?原创 2022-03-06 17:58:17 · 772 阅读 · 0 评论 -
spring cloud alibaba 学习(二十一)Sentinel服务熔断降级DegradeSlot
目录一、DegradeRule一、DegradeSlot三、ResponseTimeCircuitBreaker四、ExceptionCircuitBreaker一、DegradeRule /** * 降级策略:慢调用比例、异常比例、异常数 */ private int grade = RuleConstant.DEGRADE_GRADE_RT; /** * 阈值:最大RT、比例阈值、异常数 */ private double cou..原创 2022-02-27 20:35:30 · 595 阅读 · 0 评论 -
spring cloud alibaba 学习(二十)Sentinel 预热限流
目录前言一、pandas是什么?前言一、pandas是什么?Warm Up 调用了WarmUpController#canPass(...) 这边主要使用的是令牌桶算法 //构建函数 private void construct(double count, int warmUpPeriodInSec, int coldFactor) { //冷因子不能小于1,默认为3 if (coldFactor <= 1) { th..原创 2022-02-24 23:33:00 · 958 阅读 · 0 评论 -
spring cloud alibaba 学习(十九)Sentinel流量控制FlowSlot
目录前言一、pandas是什么?二、使用步骤前言。一、pandas是什么?FlowSlot(重要,限流相关,sentinel拉取配置应用nacos的动态加载配置com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager.FlowPropertyListener主要调用该方法) public void checkFlow(Function<String, Collection<FlowRule>> rul..原创 2022-02-23 22:55:23 · 440 阅读 · 0 评论 -
spring cloud alibaba 学习(十八)Sentinel热点参数流控ParamFlowSlot
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2022-02-22 22:27:49 · 529 阅读 · 0 评论 -
spring cloud alibaba 学习(十七)Sentinel指标统计StatisticSlot
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、StatisticSlot二、使用步骤前言。一、StatisticSlotpublic class StatisticSlot extends AbstractLinkedProcessorSlot<DefaultNode> { @Override public void entry(Context context, ResourceWrapper resourceWrapper,原创 2022-02-21 21:44:08 · 419 阅读 · 0 评论 -
spring cloud alibaba 学习(十六)Sentinel功能插槽ProcessorSlot
目录前言一、ProcessorSlotChain 初始化二、ProcessorSlotChain 使用三、ProcessorSlot 实现类1、NodeSelectorSlot2、ClusterBuilderSlot3、LogSlot4、AuthoritySlot5、SystemSlot前言sentinel 可以对资源也就是接口配置一些规则,各种规则检查的功能都继承ProcessorSlot,sentinel 会将不同的 ProcessorSlot 组装为一个责任链,当请求来的时候,会对资源的规..原创 2022-02-18 23:34:48 · 573 阅读 · 0 评论 -
spring cloud alibaba 学习(十五)Sentinel规则处理器ModifyRulesCommandHandler
目录一、规则配置二、流控检验一、规则配置在 sentinel dashboard 上面给对应的接口配置流量控制规则后,sentinel 服务端会将规则信息发送给客户端,客户端在获取到 ModifyRulesCommandHandler 调用 handler( )进行处理规则,下面从该方法进行分析。1、handle( )public CommandResponse<String> handle(CommandRequest request) { // XXX from..原创 2022-02-16 21:56:55 · 507 阅读 · 0 评论 -
spring cloud alibaba 学习(十四)Sentinel初始化InitFunc
目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('igno..原创 2022-02-13 23:10:08 · 1479 阅读 · 0 评论 -
spring cloud alibaba 学习(十三)使用Sentinel实现流量控制
目录前言一、安装 sentinel-dashboard二、接入客户端前言 Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 的主要工作机制如下: 对主流框架提供适配或者显示的 API,来定义需要保护的资源,并提供设施对资源进行实时统计和调用链路分析。 ..原创 2022-02-12 17:07:01 · 1013 阅读 · 1 评论 -
spring cloud alibaba 学习(十二)openFeign整合Sentinel实现服务熔断
目录前言一、配置二、FeignCircuitBreakerInvocationHandler 原理三、SentinelInvocationHandler 原理四、总结前言熔断机制是微服务中的一种链路保护机制,当链路上的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,响应快速失败,防止雪崩效应。一、配置1、引入依赖<dependency> <groupId>org.springframework.cloud</group..原创 2022-02-11 14:53:03 · 2735 阅读 · 2 评论 -
spring cloud alibaba 学习(十一)feign 重试策略 Retryer
目录前言一、Retryer二、Default前言。一、Retryer1、Retryer 接口public interface Retryer extends Cloneable { /** * if retry is permitted, return (possibly after sleeping). Otherwise propagate the exception. * 在休眠后执行重试,或抛出异常 */ void continueOrPropag..原创 2022-02-10 14:20:35 · 1593 阅读 · 0 评论 -
spring cloud alibaba 学习(十)openFeign默认使用RoundRobinLoadBalancer负载均衡
目录前言一、默认配置二、负载均衡流程三、负载均衡实现前言openFeign默认是通过 RoundRobinLoadBalancer 实现负载均衡。一、默认配置1、LoadBalancerClientFactory负载均衡客户端工厂LoadBalancerClientFactory的创建是在LoadBalancerAutoConfiguration中@ConditionalOnMissingBean @Bean public LoadBalancerClientFactory l..原创 2022-02-09 13:56:32 · 6120 阅读 · 1 评论 -
spring cloud alibaba 学习(九)feign 接口注解解析规则 Contract
目录前言一、Contract二、BaseContract三、Default四、SpringMvcContract前言Contract用于标识feign接口和接口方法上那些注解是有效的,并对这些注解进行提取,封装成方法的元数据信息。一、Contractpublic interface Contract { /** * Called to parse the methods in the class that are linked to HTTP requests. *..原创 2022-02-08 12:17:54 · 1114 阅读 · 0 评论 -
spring cloud alibaba 学习(八)OpenFeign中动态代理和方法句柄的结合使用
目录前言一、接口定义二、创建代理三、创建方法句柄四、测试前言在学习OpenFeign的过程中,发现了一个好玩的地方,就是动态代理和方法句柄的结合使用,分别用来处理接口远程方法调用和本地接口默认方法调用。本篇文章对此做一些测试。一、接口定义1、实际接口定义了两个方法,work( )方法需要被代理处理实际的业务,eat( )方法是默认方法,不需要被代理。public interface People { String work(); default String e..原创 2022-02-07 17:24:07 · 548 阅读 · 0 评论 -
spring cloud alibaba 学习(七)OpenFeign 执行流程
目录前言1、进入代理方法2、SynchronousMethodHandler3、创建 RequestTemplate4、执行请求5、DefaultMethodHandler前言上一篇中,分析了OpenFeign 的初始化流程,最终会为@FeignClient标识的接口创建jdk动态代理对象。hander是FeignInvocationHandler,访问目标方法时,会进入到它的invoke( )方法。1、进入代理方法FeignInvocationHandler.java @Over..原创 2022-02-06 17:38:53 · 830 阅读 · 0 评论 -
spring cloud alibaba 学习(六)OpenFeign 初始化流程
目录前言一、使用示例二、注册FeignClients三、实例化FeignClients四、FeignContext总结前言在spring cloud alibaba 中使用OpenFeign,可以用来使用HTTP请求访问远程服务。一、使用示例1、引入依赖<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign --> <depend..原创 2022-02-05 19:34:14 · 1079 阅读 · 0 评论 -
spring cloud alibaba 学习(五)nacos-HostReactor 服务更新流程
目录前言1、获取服务列表的方法2、故障转移3、从缓存中获取服务信息4、从远程更新服务信息5、服务正在更新中6、定时更新服务前言。1、获取服务列表的方法HostReactor 中的 getServiceInfo( ) 方法public ServiceInfo getServiceInfo(final String serviceName, final String clusters) { NAMING_LOGGER.debug("failover-mode..原创 2022-02-04 21:17:46 · 805 阅读 · 0 评论 -
spring cloud alibaba 学习(四)nacos-HostReactor初始化流程
1、构造方法public HostReactor(NamingProxy serverProxy, BeatReactor beatReactor, String cacheDir, boolean loadCacheAtStart, boolean pushEmptyProtection, int pollingThreadCount) { // init executorService //线程池 this.executor =原创 2022-02-03 22:07:41 · 884 阅读 · 0 评论 -
spring cloud alibaba 学习(三)Nacos-NacosNamingService初始化流程
1、NacosServiceManager 的创建@Configuration(proxyBeanMethods = false)@ConditionalOnDiscoveryEnabled@ConditionalOnNacosDiscoveryEnabledpublic class NacosServiceAutoConfiguration { @Bean public NacosServiceManager nacosServiceManager() { return new Nac.原创 2022-02-03 18:51:58 · 2088 阅读 · 0 评论 -
spring cloud alibaba 学习(二)nacos服务自动注册流程
目录一、NacosServiceRegistryAutoConfiguration注册流程一、NacosServiceRegistryAutoConfiguration@Configuration(proxyBeanMethods = false)@EnableConfigurationProperties@ConditionalOnNacosDiscoveryEnabled# 默认开启服务自动注册@ConditionalOnProperty(value = "spring.cloud.s..原创 2022-01-31 22:12:59 · 1084 阅读 · 0 评论 -
spring cloud alibaba 学习(一)环境搭建
目录前言一、安装nacos二、服务提供者三、服务消费者四、测试前言Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。五大组件选择:1.服务注册中心 ..原创 2022-01-30 18:32:34 · 1320 阅读 · 0 评论