随笔分类 - spring cloud
摘要:契机 近期升级SpringCloudAlibaba版本,从2021.0.1.0升级到2021.0.5 问题现象 注册到K8S平台上2.1.2版本的Nacos报错,错误信息如下: 2023-09-13 09:29:53.712 INFO 19988 — [ main] c.a.n.p.a.s.c.Cl
阅读全文
摘要:使用版本: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> <relativePath
阅读全文
摘要:最近使用spring cloud gateway自带的限流,进行压测发现性能极低。 测试环境: 1、gateway被代理的微服务在一台16核32线程服务器上,使用docker运行 2、redis在一台8核的服务器上 3、被代理的微服务是一个springboot项目,只有返回当前时间戳的一个简单逻辑
阅读全文
摘要:在使用E版本的Spring Cloud Netflix Zuul内置的Ribbon重试功能时,发现Ribbon有一个很精妙的特性: 如果某个服务的某个实例经常需要重试,Ribbon则会在自己维护的一个缓存(serverStatsCache)里将其临时标记为不可用(isCircuitBreakerTr
阅读全文
摘要:代码使用SpringCloud版本E3 业务场景: 今天遇到一个业务场景,要求根据服务名获取当前微服务集群中所有的对应服务实例的IP和端口,通过分析源码推算出了写法。 原理简述: 如果代码中引入了spring-cloud-netflix-core(版本1.4.4.RELEASE),则在代码初始化的时
阅读全文
摘要:直接上代码: 第二个方法可以添加静态资源映射, 在linux下,如果通过http://[server ip]/path/index.html进行访问,则可以访问到磁盘路径为 /html/index.html 的文件 在windows下则可以将代码中的 /html/ 换成 [盘符]:/html/ 如
阅读全文
摘要:1、 pom中引入 org.springframework.boot spring-boot-starter-actuator 2、 发送POST请求: 地址: http://[服务地址]:[服务端口]/loggers/[要修改日志级别的包路径] 请求头: name: Content-Type va
阅读全文
摘要:当机器上有多个网卡或者机器上配置了回环地址的时候,Eureka客户端呈报给服务端的IP将不可预见,为了指定IP我们需要增加以下配置: 在bootstrap.yml中增加配置内容: 在使用配置中心的情况下,如果该配置如果放在application.yml中,会导致eureka上显示内容不太正确,但是i
阅读全文
摘要:在包路径:org.springframework.cloud.netflix.zuul.filters 下,新建类SimpleRouteLocator,取代jar包中的类。内容如下: 其中的164-171行,让zuul支持了如下配置: 通过/vod2/two路径,可以访问到 /all/two 注意,
阅读全文
摘要:19.13 Zuul Timeouts 19.13 Zuul Timeouts 19.13 Zuul Timeouts 19.13 Zuul Timeouts 19.13.1 Service Discovery Configuration If Zuul is using service disco
阅读全文
摘要:Spring Cloud Edgware builds on Spring Boot 1.5.x. Renamed starters A number of starters did not follow normal Spring Cloud naming conventions. In Edgw
阅读全文
摘要:使用Dalston.SR5版本的Zuul时, 发现Ribbon重试不能切换服务实例, 换成Edgware.SR3,同样的配置可以切换实例进行重试 还有个不升级所有Spring Cloud组件的方法,仅仅升级zuul的版本,在zuul的pom中增加以下内容以升级,亲测可行: 不得不说Spring Cl
阅读全文
摘要:Spring Cloud 版本: Dalston.SR5 这两天通过JMeter测了一下Spring Cloud Zuul的性能,用的是两台虚机8核8G和4核8G,宿主机是10核逻辑20核,代理的服务简单的返回字符串hello,vm堆内存1G够用 先说一下测试情况,值得一提的是测试并不严谨,因为用的
阅读全文
摘要:Spring Cloud 版本: Dalston.SR5 今天使用Zuul发现一个和动态刷新相关的问题,动态刷新使用的是 /bus/refresh,即我的Zuul连着一个Rabbitmq,我这里是使用的总线刷新的方式,普通的刷新/refresh应该也是可以再现这个坑的。 我一共有两个服务,服务名分别
阅读全文
摘要:通过本文配置,会对actuator 除了health外的所有端点,开启用户名密码验证,对于自己开发的接口不会要求用户名密码验证。 版本: maven依赖: 配置:
阅读全文
摘要:Spring Boot加载配置文件,默认会从几个固定位置搜索一下看看有没有配置文件 ——application.properties或者bootstrap.properties(如果你使用了spring cloud 相关jar包的话)存在。 这几个位置分别是: 他们定义在: 看到这个地方你应该明白了
阅读全文
摘要:场景描述: Eureka的集群节点有两个,互相注册形成集群,已经支持动态刷新(不知道怎么让Eureka支持动态刷新的可以参考http://www.cnblogs.com/flying607/p/8459397.html),已经在运行,使用nginx做负载均衡,代理该集群,服务的注册中心地址直接写ng
阅读全文
摘要:今天单独使用SpringBoot,发现其中的bootstrap.properties文件无法生效,改成yaml格式也无济于事。 最后调查发现原来是因为SpringBoot本身并不支持,需要和Spring Cloud 的组件结合——只有加上Spring Cloud Context依赖才能生效。 即在p
阅读全文
摘要:Spring Cloud 版本: 服务端配置: 客户端配置 看看他们的默认值: 服务端60秒的剔除间隔: 客户端30秒心跳,90秒失效: 以上加起来是3分钟,也就是说正常默认情况下,会有3分钟左右的剔除延迟
阅读全文
摘要:本文测试使用的spring cloud版本为: 很多朋友只知道spring cloud config可以刷新远程git的配置到内存中, 却不知道spring cloud config的客户端可以脱离服务端使用, 更不知道spring cloud config客户端结合actuator还可以刷新本地的
阅读全文