eureka

spring-cloud-zuul-ratelimit 配置

你。 提交于 2020-05-03 18:14:42
1、 添加spring-cloud-zuul-ratelimit依赖。 <dependency> <groupId>com.marcosbarbero.cloud</groupId> <artifactId>spring-cloud-zuul-ratelimit</artifactId> <version>1.3.2.RELEASE</version> 2、 全局限流配置 #全局限流: zuul.ratelimit.enabled=true zuul.ratelimit.behind-proxy=true zuul.ratelimit.repository=REDIS zuul.ratelimit.add-response-headers=true zuul.ratelimit.default-policy.limit=7 zuul.ratelimit.default-policy.quota=1000 zuul.ratelimit.default-policy.refresh-interval=60 zuul.ratelimit.default-policy.type=origin 3、 特定服务限流配置 #局部限流:针对某个服务进行限流 #60s 内请求超过 3 次,服务端就抛出异常,60s 后可以恢复正常请求 zuul.ratelimit.policies.api-b

SpringCloud系列之集成Dubbo应用篇

只谈情不闲聊 提交于 2020-05-03 16:43:29
目录 前言 项目版本 项目说明 集成Dubbo 2.6.x 新项目模块 老项目模块 集成Dubbo 2.7.x 新项目模块 老项目模块 参考资料 系列文章 前言 SpringCloud系列开篇文章就说到了,公司新项目将入坑SpringCloud全家桶,但原先线上老项目是采用Spring+Dubbo技术栈的,新项目中的部分业务还是和老项目有点关联的,重写这一部分业务逻辑也是需要点时间,本来想通过http请求进行业务交互的,总感觉不够优雅,原先也了解过SpringCloud Alibaba,趁着这个机会捣腾捣腾。 项目版本 spring-boot-version: 2.2.5.RELEASE spring-cloud.version: Hoxton.SR3 dubbo版本会分成2.6.x系列和2.7.x系列二个版本进行说明 dubbo2.6.x <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.1.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId>

15、Feign整合断路器监控Hystrix Dashboard

大憨熊 提交于 2020-05-02 15:47:20
Ribbon 可以整合整合断路器监控 Hystrix Dashboard , Feign 也不能少 , 本篇讲解一下 Feign 如何整合断路器监控 Hystrix Dashboard 。本篇主要整合 sc-eureka-client-consumer-feign-hystrix项目和sc-hystrix-dashboard项目。 1、 新建项目sc-feign-hystrix-dashboard ,对应的 pom.xml 文件如下 < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < groupId > spring-cloud </ groupId > < artifactId > sc-feign-hystrix-dashboard </ artifactId > < version > 0.0.1-SNAPSHOT </

spring cloud学习--eureka 01

不想你离开。 提交于 2020-05-02 04:49:37
本博客为学习使用,学习教程翟永超 spring cloud 微服务实战 搭建eureka server注册中心 spring initialize构建spring boot项目 构建网址: https://start.spring.io/ 版本与spring boot版本匹配 此处选择Brixton.SR5版本,spring boot选择1.3.7版本 maven dependencies <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>

springcloud-注册中心快速构建

拥有回忆 提交于 2020-05-02 00:23:10
1. 场景描述 springcloud提供了一整套可行的构建分布式系统的方案,使的企业/开发人员能够快速沟通分布式系统,今天快速构建下springcloud的注册中心Eureka。 2. 解决方案 2.1 springcloud介绍 COORDINATE ANYTHING: DISTRIBUTED SYSTEMS SIMPLIFIED Building distributed systems doesn't need to be complex and error-prone. Spring Cloud offers a simple and accessible programming model to the most common distributed system patterns, helping developers build resilient, reliable, and coordinated applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly. 2.2 项目构建 使用的idea终极版,springcloud项目本身就是springboot项目(

springcloud线上发布超时方案之终极杀招:预热(测试用例)

谁说我不能喝 提交于 2020-05-01 22:27:32
springcloud线上发布超时系列文章: springcloud线上发布超时之feign(ribbon饥饿加载) springcloud线上发布超时之grpc springcloud线上发布超时方案之终极杀招:预热(测试用例) 前言 经过上面两章的优化,超时报错有所减少,但是只是得到了缓解但是当流量切换时还是会有大量超时。 方案 这里又增加了一个启动后预热,即在程序启动后执行测试用例n次,让hystrix、web容器线程池等资源初始化。在测试用例执行完成之前,为了保证服务不对外提供服务,这里可以分两种。 延迟注册到注册中心 如果时使用注册中心来进行服务发现等,这里可以采用延迟注册来保证测试用例的成功执行, 如果时eureka为注册中心可以配置initial-instance-info-replication-interval-seconds参数,默认是40s,可以将其改为1分钟 如果是consul或者zk,可以修改响应的延时注册时间,或者修改服务端有效时间 kubernetes中增加服务ready延时时间 这里再deploy.yml中配置如下: spec: replicas: 1 template: spec: containers: - args: livenessProbe: failureThreshold: 5 httpGet: path: /health port:

Spring Cloud Resilience4j 断路器

北城余情 提交于 2020-04-30 11:15:27
学习在 Spring Cloud 中使用 Resilience4j 实现断路器,包括断路器 CircuitBreaker 、限流 RateLimiter 、请求重试 Retry 等功能。 1 概述 Resilience4j 是 Spring Cloud Greenwich 版推荐的 容错解决方案 ,相比 Hystrix , Resilience4j 专为 Java 8 以及函数式编程而设计。它主要提供了如下功能: 断路器 限流 基于信号量的隔离 缓存 限时 请求重试 2 基本用法 创建普通的 Maven 项目 resilience4j ,手动添加依赖,如下: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>io.github.resilience4j</groupId> <artifactId>resilience4j-circuitbreaker</artifactId> <version>0.13.2</version> </dependency> <dependency> <groupId>io.github.resilience4j<

7-5 Ribbon整合Eureka

流过昼夜 提交于 2020-04-30 07:56:11
启动我们的consumer服务。 这个有个sayHello的方法 刷新页面,默认的就已经是负载均衡了。 简化开发的流程 让restTemplate 具有负载均衡的能力。 restTemplate默认会把字符串hello-service-provider替换成你的服务host+port的形式。 uri还是原来的,正常调用 重启consumer服务 还是轮询的操作,但是代码简化了很多。 到目前为止 serverList基本就完成了。下面就是要玩负载均衡算法了。 结束 来源: oschina 链接: https://my.oschina.net/u/4343285/blog/4258817

7-4 构建多Provider环境

天涯浪子 提交于 2020-04-30 07:55:53
演示环境修改,解决ribbon和eureka的整合 复制配置文件改个名字 把端口改成7102 再复制一个端口是7103 这样我们就有个三个配置文件,我们来启动三次 分别启动不同的配置文件。 复制 再来创建两个 再继续添加 原来那个01改回来,改成02. 启动测试 先启动eureka server 启动provider 启动provider02 启动provider03 结束 来源: oschina 链接: https://my.oschina.net/u/4408223/blog/4258818

springcloud ribbon负载均衡

匆匆过客 提交于 2020-04-29 15:40:43
springcloud ribbon负载均衡 1.我们先启动上次建好的eureka、product服务 product服务要设置多个端口,将端口修改为9001,9011 启动后我们访问 http://localhost:9000/ 当我们用order服务去调用product服务时会发现,一会调用9001,一会调用9011,这就是ribbon的默认负载策略是轮询的方式,每个节点都访问一次。 修改ribbon负载均衡策略 ribbon有以下几种方式策略: 1. com.netflix.loadbalancer.RoundRobinRule :以轮询的方式进行负载均衡。 2.com.netflix.loadbalancer.RandomRule :随机策略 3.com.netflix.loadbalancer.RetryRule :重试策略。 4.com.netflix.loadbalancer.WeightedResponseTimeRule :权重策略。会计算每个服务的权重,越高的被调用的可能性越大。 5.com.netflix.loadbalancer.BestAvailableRule :最佳策略。遍历所有的服务实例,过滤掉故障实例,并返回请求数最小的实例返回。 6.com.netflix.loadbalancer.AvailabilityFilteringRule