
SpringCloud
你是人间五月天
这个作者很懒,什么都没留下…
展开
-
SpringCloud 使用sentinel
业务需求是有限支付和更新订单的业务,因此当修改订单业务触发阈值时,需要对查询订单业务限流。RequestOriginParser来填写(比如在请求header上添加值来区分是网关过来的请求还是直接访问的服务的请求)1、慢调用比例:超过指定时长的调用为慢调用,统计单位时长内慢调用的比例,超过阈值则熔断。直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式。链路:统计从指定链路访问到本资源的请求触发阈值时,对指定链路限流。关联:统计与当前资源相关的另一个资源触发阈值时,对当前资源限流。原创 2023-04-03 14:45:21 · 1217 阅读 · 2 评论 -
SpringCloud sleuth+zipkin实现服务链路追踪
二、启动 zipkin-server-2.12.9-exec.jar。因为zipkin已经依赖了sleuth,所以sleuth可不添加。原创 2023-03-30 15:18:17 · 109 阅读 · 0 评论 -
SpringCloud gateway网关
【代码】SpringCloud网关配置简单示例。原创 2023-03-29 20:12:14 · 176 阅读 · 0 评论 -
nacos集群搭建
nacos集群搭建_胡尚的博客-优快云博客转载 2023-03-29 12:18:52 · 92 阅读 · 0 评论 -
分布式事务选型及对比
分布式事务选型及对比_Quan-优快云博客_分布式事务seata和lcn哪个好的风格https://blog.youkuaiyun.com/qq_42556214/article/details/105796048转载 2021-10-31 14:34:35 · 147 阅读 · 0 评论 -
Springcloud zuul网关使用
网关作用网关的作用,可以实现负载均衡、路由转发、日志、权限控制、监控等。网关与过滤器区别网关是拦截所有服务器请求进行控制过滤器拦截某单个服务器请求进行控制Nginx与Zuul的区别Nginx是采用服务器负载均衡进行转发Zuul依赖Ribbon和eureka实现本地负载均衡转发相对来说Nginx功能比Zuul功能更加强大,能够整合其他语言比如lua脚本实现强大的功能,同时Nginx可以更好的抗高并发,Zuul网关适用于请求过滤和拦截等。Maven依赖信息<par原创 2021-10-28 17:22:17 · 154 阅读 · 0 评论 -
springcloud config分布式配置中心搭建
一 、config server搭建(1)pom文件添加<!--spring-cloud 整合 config-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> ...原创 2021-04-22 22:23:42 · 91 阅读 · 0 评论 -
springcloud集成hystrix 实现服务的隔离,熔断,降级
一、pom引入依赖<!-- hystrix断路器 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>二、app类添加注解@EnableHystrixpackage co原创 2021-03-24 22:23:24 · 317 阅读 · 0 评论 -
什么叫服务的降级、熔断、隔离、限流
服务降级在高并发情况下,防止用户一直等待,使用服务降级方式(直接返回一个友好的提示给客户端,调用fallBack方法),目的是为了用户体验。服务熔断熔断机制目的为了保护服务,在高并发的情况下,如果请求达到一定极限(可以自己设置阔值),流量超出了设置阈值,然后直接拒绝访问,保护当前服务。使用服务降级方式返回一个友好提示,服务熔断和服务降级一起使用。服务隔离因为默认情况下,只有一个线程池会维护所有的服务接口,如果大量的请求访问同一个接口,达到tomcat 线程池默认极限,可能会导致其他服务无原创 2021-03-22 21:34:48 · 1829 阅读 · 0 评论 -
服务雪崩效应的产生及解决办法
一、什么是服务雪崩效应?默认情况下tomcat只有一个线程池去处理客户端发送的所有请求,在高并发情况下,如果客户端所有的请求堆积到同一个服务接口上,tomcat的所有线程去处理该服务接口,会导致其他服务接口产生延迟等待,无法访问。二、雪崩效应产生的几种场景流量激增:比如异常流量、用户重试导致系统负载升高; 缓存刷新:假设A为client端,B为Server端,假设A系统请求都流向B系统,请求超出了B系统的承载能力,就会造成B系统崩溃; 程序有Bug:代码循环调用的逻辑问题,资源未释放引起的内原创 2021-03-22 20:57:06 · 675 阅读 · 1 评论 -
springcloud使用feign
一、Feign客户端是一个web声明式http远程调用工具,提供了接口和注解方式进行调用。二、Maven依赖信息<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>三、feign客户端接口类//name原创 2021-03-14 17:38:39 · 270 阅读 · 0 评论 -
springcloud Ribbon本地客户端负载均衡底层实现算法代码模拟
ribbon本地负载均衡算法: 某个接口的总请求数%服务器集群总数 = 实际调用的服务器的下标具体模拟代码如下package com.wangcj.api.controller;import java.util.List;import java.util.concurrent.atomic.AtomicInteger;import org.springframework.beans.factory.annotation.Autowired;import org.springframew原创 2021-03-10 22:07:47 · 120 阅读 · 0 评论 -
springcloud 整合consul作为注册中心
Consul简介Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、WindowsConsul 整合SpringCloud 学习网站:https://springcloud.cc/spring-cloud-consul.htmlConsul下载地址ht原创 2021-03-08 21:47:39 · 181 阅读 · 0 评论 -
springcloud 整合zookeeper作为注册中心
一、客户端依赖<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</mo原创 2021-03-03 22:06:11 · 132 阅读 · 1 评论 -
SpringCloud Eureka自我保护机制详解
默认情况下,EurekaClient会定时向EurekaServer端发送心跳,如果EurekaServer在一定时间内没有收到EurekaClient发送的心跳,便会把该实例从注册服务列表中剔除(默认是90秒),但是在短时间内丢失大量的实例心跳,这时候EurekaServer会开启自我保护机制,Eureka不会剔除该服务。产生的原因:在开发测试时,需要频繁地重启微服务实例,但是我们很少会把eureka server一起重启(因为在开发过程中不会修改eureka注册中心),当一分钟内收到的心跳数大量原创 2021-02-25 21:25:17 · 676 阅读 · 0 评论 -
springcloud 搭建高可用的Eureka
Eureka高可用实际上是将自己作为服务向其他注册中心注册自己,这样就可以形成一组相互注册的注册中心,从而实现服务清单的互相同步,达到高可用效果。搭建两个互相调用的注册中心###eureka 服务端口号server: port: 8100###服务名称(服务注册到eureka名称) spring: application: name: app-eurekaeureka: instance: hostname: 127.0.0.1###客户端调用地原创 2021-02-23 21:26:59 · 251 阅读 · 0 评论 -
SpringCloud使用RestTemplate进行服务调用
一、OrderApppackage com.wangcj.api.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.loadbalancer.LoadBalanced;import org.springfr.原创 2021-02-22 21:53:23 · 499 阅读 · 0 评论 -
SpringCloud发布服务提供者 demo
一、maven依赖如下:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEAS...原创 2019-03-18 22:51:37 · 184 阅读 · 0 评论 -
eclipse安装yml文件插件STS
一、去官网下载插件https://spring.io/tools3/sts/legacy必须选择和自身eclipse对应的版本二、下载完成后,此文件是不能直接安装的,会报错could not find jar:file根据下载后得到的文件名spring-tool-suite-3.6.1.RELEASE-e4.4-win32-x86_64,从如下地址获取http://download.s...原创 2019-03-10 23:02:22 · 1869 阅读 · 0 评论 -
SpringCloud Ribbon
负载均衡分为服务端负载均衡和客户端负载均衡,SpringCloud Ribbon是基于客户端的负载均衡工具。客户端负载均衡和服务端负载均衡的区别在于客户端要维护一份服务列表,Ribbon从Eureka server中获取服务列表,根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务。如图::...原创 2018-09-25 22:23:43 · 222 阅读 · 1 评论 -
如何搭建一个高可用的Eureka Server
1、新建一个SpringBoot工程,pom文件中加上相关依赖: <!-- springcloud依賴 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</group...原创 2018-09-12 23:02:11 · 720 阅读 · 0 评论