![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springcloud
文章平均质量分 56
qq_34412985
Coding make me happy.
展开
-
jackson和hibernate时不同步配置jackson对延迟加载支持否则报错
类似webflux中model中数据是空的,数据只有通过回调接口返回给它,延迟加载首先返回代理对象,代理对象是空的,只有真正访问数据详情时再去查询。原创 2021-11-21 14:57:54 · 389 阅读 · 0 评论 -
eurekaserver依赖jdk中JAXB在jdk9及以上版本从javase移到javaee中
原创 2021-11-21 14:15:35 · 335 阅读 · 0 评论 -
springboot2.1.0版本导致数据库连接不写driver名称和字符集报错
默认是可以不写driver-class-name,utf8和utf-8都是识别的但有些版本是不支持的,如果检查后没有其他问题时,可以检查是否因为版本导致的这些问题原创 2021-11-21 14:07:47 · 829 阅读 · 0 评论 -
接口测试工具 restlet client
参考:Restlet Client插件下载_sunrainamazing的博客-CSDN博客_restclient插件下载 使用Restlet Client发送各种Get和Post请求_zlp1992的专栏-CSDN博客文章目录下载 若 你能翻墙下载 可以去如下网址下载 方式二 采用离线CRX的方式进行安装(==我用的第二种方式==) 安装 其次 , 一定要点开 开发者模式 最后 将下载的 crx 文件 ==拖至==此扩展程序页面 即可,安装完成。 界面效果如下转载 2021-11-21 13:28:42 · 219 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name ReadBodyData
记录一次测试环境的问题:将springcloudgateway的过滤器删掉了一个,然后报错了,springcloudgateway的配置文件中有这么个过滤器找不到了at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:333)java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name ReadBodyDatasp原创 2021-11-16 20:33:07 · 1720 阅读 · 0 评论 -
获取SpringCloud gateway 响应的response的值,可以查看、修改
gateway获取、修改客户端请求Request的参数,我们在上一篇已经讲过了。那么网关发起请求后,微服务返回回来的response的值,还是要经过网关才发给客户端的。很多时候,我们希望能看到响应的值,或者修改它。那么怎么做呢? import org.reactivestreams.Publisher; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframe...转载 2021-11-13 16:33:06 · 2736 阅读 · 0 评论 -
feign.exception Connection reset executing
使用feign调用服务时出现Connection reset executing ,项目是注册在eureka中在项目中,同一个接口中使用了多次feign调用,第一次调用正常,第二次调用会出现Connection reset executing可能是熔断了,可以尝试调整熔断时间定位一下问题...原创 2021-10-09 14:48:09 · 4423 阅读 · 0 评论 -
分布式计算中的八大谬论
构建分布式系统是一项复杂的工作。架构,设计,编码和测试对分布式系统的成功都至关重要。任何一点的失败都可能导致性能下降,故障频发,费用超标以及最终导致客户流失。在20世纪90年代Sun Microsystems的Peter Deutsch,James Gosling和其他人总结出了分布式计算的八个谬论。随着时间的推移,IT人员对这些谬论的认识可能已经消退,所以想要提醒下大家。八大谬论是:网络可靠。 The network is reliable. 延迟为零。 Latency is zero. 带宽转载 2021-07-27 14:16:34 · 209 阅读 · 0 评论 -
zuul学习二:zuul路由详解(一)
传统路由配置所谓的传统路由配置方式就是在不依赖与服务发现机制的情况下,通过在配置文件中具体制定每个路由表达式实例的映射关系来实现api网关对外部请求的路由。没有Eureka等服务治理框架的帮助,我们需要根据服务实例的数量采用不同方式的配置来实现路由规则:单实例配置:通过zuul.routes.<route>.path与zuul.routes.<route>.url参数对的方式进行配置,比如:...转载 2021-03-29 14:28:12 · 181 阅读 · 0 评论 -
springboot2.X引入actuator依赖无法查看endpoint
springboot1.X中引入actuator依赖后我们就可以通过对应的endpoint查看与应用相关的信息,springboot2.X以后需进行如下配置才可访问:management: endpoints: web: base-path: /actuator exposure: include: "*"在springboot2.x的application.properties文件中单独暴露management.endpoints.web...原创 2021-03-29 13:35:36 · 307 阅读 · 0 评论 -
Skywalking部署及使用
前言首先有必要说明一下为什么使用skywalking。我对zipkin、cat和skywalking这几个较为主流的监控产品做了一些调研和对比,其中zipkin是我项目中之前已经在使用的,我也写过一些相关的文章,而cat仅是通过资料收集并没有实际的使用,可能会与实际情况有一定偏差,整理以后情况汇总如下表:项目 Cat Zipkin Skywalking 调用链可视化 有 有 有 聚合报表 非常丰富 少 较丰富 服务依赖图 简原创 2021-03-25 17:09:00 · 591 阅读 · 1 评论 -
Pinpoint分布式系统性能监控工具
目前分布式链路追踪系统基本都是根据谷歌的《Dapper大规模分布式系统的跟踪系统》这篇论文发展而来,主流的有zipkin,pinpoint,skywalking,cat,jaeger等。本次APM系统选型主要对比pinpoint和skywalking。直接否定了zipkin和cat。因为zipkin和cat对代码有一定的侵入性,这是我不能接受的。而pinpoint和skywalking都是基于字节码注入技术,可以做到完全的代码无侵入。对现有系统的改造极小。1,社区比较skywalking最.转载 2021-03-25 13:48:44 · 283 阅读 · 1 评论 -
解决idea配置的springcloud的eureka的Application显示为UNKNOWN
我遇到的情况是idea修改完yml配置文件后需要maven compile下否则会从target目录中加上次编译的配置文件导致出现此问题初学spring-cloud的小伙伴们,肯定会遇到eureka服务的application显示为UNKNOWN的情况,如果不幸和下图中的BUG类似,那么就请继续阅读本文出现这种情况,一般是application.yml文件的配置不当引起的,通过浏览器访问对应的网址,控制台还会出现java.lang.IllegalStateException: No instances原创 2021-03-15 16:15:45 · 841 阅读 · 0 评论 -
Docker——Docker安装Sentinel
Docker——Docker安装SentinelSentinel是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性.1:拉取镜像:docker pull bladex/sentinel-dashboard2:启动docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard3:访问http://公网ip:8858..原创 2021-02-22 12:36:03 · 142 阅读 · 0 评论 -
基于docker的Apollo安装(分布式)
apollo单环境安装,分布式安装,可参考https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97#2-apolloportalmetaservers—%E5%90%84%E7%8E%AF%E5%A2%83meta-service%E5%88%97%E8%A1%A8实验环境说明两个环境 dev 和 prodIP 环境 安装组件 19原创 2021-02-21 19:28:13 · 175 阅读 · 0 评论 -
springcloud+zipkin实现链路监控搭建zipkin-server(五)
Zipkin简介Zipkin是Twitter的一个开源项目,它基于GoogleDapper实现。我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的RESTAPI接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根源。除了面向开发的API接口之外,它也提供了方便的UI组件来帮助我们直观的搜索跟踪信息和分析请求链路明细,比如:可以查询某段时间内各用户请求的处理时间等。上图展示了Zipkin的...原创 2021-02-09 21:27:19 · 540 阅读 · 0 评论 -
微服务SpringCloud之链路追踪介绍docker安装zipkin结合apollo(四)
一、概述软件项目随着业务发展,一个单体的应用的问题会暴露出来,各个开发人员开发不同的功能模块,造成代码冲突,单体应用上线必须所有功能一起上线,风险较大。这时项目必然需要被拆分,拆分为一个个独立的应用服务,拆分后会导致系统服务间调用链路愈发复杂。此时,一个前端请求可能最终需要调用多个后端服务才能完成实现,当整个请求不可用出现问题时,我们是没有办法判断请求是由哪个后端服务引发问题,这时我们需要快速定位故障点,找到调用异常的服务,跟进一个请求到底有哪些服务参与,参与顺序是怎样,从而达到每个请求的步骤清晰可原创 2021-02-09 21:21:04 · 173 阅读 · 0 评论 -
Spring Cloud 应用篇 之 Spring Cloud Sleuth + Zipkin(三)修改数据存储方式
(一)简介默认情况下,Zipkin Server 会将跟踪信息存储在内存中,每次重启 Zipkin Server 都会使之前收集的跟踪信息丢失,并且当有大量跟踪信息时,内存存储也会造成性能瓶颈,所以通常我们都需要将跟踪信息存储到外部组件中,如 Mysql。由于Spring Boot 2.0 之后Zipkin 不再推荐我们来自定义 Server 端了,那么如何把 Zipkin Server 修改为 Mysql 存储功能呢?答案还是和集成 RabbitMQ 一样,在启动 zipkin.jar 的时候..转载 2021-02-09 21:12:59 · 397 阅读 · 0 评论 -
微服务链路追踪springcloud Sleuth + Zipkin实战(二)
简介:微服务的诞生,带来了大量的便利,随之而来的还有大量问题的产生。将一个庞大的系统切割为若干个小的系统,各个系统之间相互调用,共同协调完成系统功能。然而在复杂的调用链中如果出现了一些问题,比如一条调用链路错误,如何快速定位错误源,一条调用链路响应缓慢,如何快速定位其中延迟高的服务呢?这将是我们需要解决的问题。Zipkin 是什么?Zipkin分布式跟踪系统,它可以帮助收集时间数据。并通过用户易于理解的方式展现给用户(说人话就是链路追踪中的服务端,用于收集和展示数据)。zipkin涉及几个概.原创 2021-02-09 21:04:29 · 179 阅读 · 0 评论 -
Spring Cloud Feign 报:Method not annotated with HTTP method type (ex. GET, POST)
原因1:继承了BaseFeign 也就是说父类可能已经有相同的方法了,而你在子类又写了一个一样的方法解决:检查是否有相同请求URL或者方法名一样的FEIGN请求小记: 如果被调用端,也就是controoler用了基础类型参数,如:public ResultDTO<T> getAllList(Integer page,Integer pageSize);那么feign在调用时要加参数注解,如下: @RequestMapping(value = "/getL...原创 2021-02-07 21:14:58 · 682 阅读 · 0 评论 -
关于 Nacos Starter 更多的配置项信息
关于 Nacos Starter 更多的配置项信息更多关于 spring-cloud-starter-alibaba-nacos-discovery 的 starter 配置项如下所示:配置项 Key 默认值 说明 服务端地址 spring.cloud.nacos.discovery.server-addr 无 Nacos Server 启动监听的ip地址和端口 权重 spring.cloud.nacos.discovery.weight ...原创 2021-01-23 21:45:07 · 142 阅读 · 0 评论 -
Nacos的下载安装使用,集成SpringCloud替换Eureka,Config
什么是 Nacos?Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。下载安装NacosNacos下载地址 github下载地址特别慢,可以使用gitee下载或者docker安装 下载nacos-server-$version.zi原创 2021-01-23 20:25:05 · 189 阅读 · 0 评论 -
springcloud使用 sidecar实现跨语言微服务调用
引言随着近几年微服务的兴起,越来越多的人使用springcloud作为微服务框架(基于java语言实现的微服务框架),因此就产生了这样的需求:能否将非java语言实现的项目接入到springcloud框架中。答案是肯定的,springcloud为了解决此问题,推出了一款名叫sidecar的组件。SidecarSpring Cloud Netflix Sidecar 包含一个简单的http api来获取给定服务的所有实例(即主机和端口)。然后可以通过从Eureka获取其路由条目的嵌入式Zuul代转载 2020-10-01 18:32:38 · 894 阅读 · 0 评论 -
Druid连接池 报错:abandon connection原因分析
问题现象:使用Druid的数据库连接池,在进行一个查询SQL的时候,抛出了异常:[2017-10-20 01:40:59.269 ERROR com.alibaba.druid.pool.DruidDataSource:2189] abandon connection, owner thread: schedulerDuty_Worker-2, connected at : 1508434843057, open stackTrace at java.lang.Thread.get原创 2020-09-15 20:13:22 · 2497 阅读 · 0 评论 -
Springmvc请求参数校验@Validated
Spring请求参数校验 SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上@NotNull、@Max等进行验证。JSR303提供有很多annotation接口,而SpringMVC对于这些验证是使用hibernate的实现,所以我们需要添加hibernate的一个validator包:依赖引用compile 'javax.validation:validation-api:2.0.0.Final'compile 'org.hibernate:hibernate原创 2020-09-13 12:43:55 · 767 阅读 · 0 评论 -
错误:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String
最近刚刚开始用SpringBoot做项目,之前项目跑得好好的,就启动不起来了,后来终于解决了这个错误,这种错误出现原因很多吧,我这只能算一种原因。 直接进入正题,我遇到的导致出现这个报错的原因:maven项目中引入了多个版本的servlet-api的jar包,项目加载时候加载错了类(加载到servlet-api包中的类),getVirtualServerName我只在SpringBoot内嵌的Tomcat的包里见到了! 解决方案:Servlet-api 3.1.0以及之后的版本中才有ge...原创 2020-09-10 23:04:42 · 1789 阅读 · 0 评论 -
上传文件的输出日志信息
2020-09-01 15:43:29.809 INFO com.pc.data.governance.aop.ControllerAopWithBdap Line:61 - 请求路径是===>>>/standardMapping/uploadData请求方法是===>>>public java.lang.Object com.pc.data.ds.controller.StandardMappingUploadAndDownloadController.upload..原创 2020-09-10 17:30:44 · 2391 阅读 · 0 评论 -
[SpringCloud] SpringCloud微服务实战 导入hystrix找不到@HystrixCommand问题
作者是使用的就老版本的SpringBoot+SpringCloud, 导入的依赖是: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> 对于Spring Boot 2.0+Spring Cloud Finc...转载 2020-09-03 22:50:55 · 503 阅读 · 0 评论 -
Zuul超时问题,微服务响应超时,zuul进行熔断
是这样的,今天碰到了微服务响应超时问题,而且超时时间特别短,2秒就超时,zuul就走熔断了。我采用zuul作为网关,根据不同的访问路径进行微服务的路由,譬如有个服务是user,我访问user服务的某个接口时,该接口执行时间很慢,2秒多,然后还没执行完,zuul就执行熔断了,进入了我配好的ZuulFallbackProvider里。所以来研究一下zuul的超时处理。前提,zuul和微服务都已经注册到了eureka中,zuul采用service-id来进行路由,当访问/user时进入到user服务中。而且,转载 2020-09-02 17:31:01 · 398 阅读 · 0 评论 -
Spring boot CommandLineRunner接口使用例子
阅读目录前言 如何使用CommandLineRunner接口 用@Order注解去设置多个CommandLineRunner实现类的执行顺序 为什么要使用CommandLineRunner接口 原文文链前言Spring boot的CommandLineRunner接口主要用于实现在应用初始化后,去执行一段代码块逻辑,这段初始化代码在整个应用生命周期内只会执行一次。如何使用CommandLineRunner接口我们可以用以下三种方式去使用CommandLineRunner接口转载 2020-09-01 23:07:11 · 130 阅读 · 0 评论 -
使用feign做get请求的时候,PathVariable annotation was empty on param 0.
使用feign的时候,PathVariable annotation was empty on param 0.经过查资料,发现问题在注解@PathVariable上错误代码,没有指明其value值@FeignClient(“05USERPROVIDER-EUREKA”) //声明当前接口,用于访问05USERPROVIDER-EUREKA服务public interface MyFeignClient01 {//他和我们的controller刚好相反,是当我们调用这个接口中的这个方法的时候/原创 2020-09-01 23:05:10 · 349 阅读 · 0 评论 -
解决No thread-bound request found: Are you referring to request attributes outside of an actual web re
使用背景:今天在spring-cloud项目中,使用多线程异步调用微服务出现的错误Nothread-boundrequestfound:Areyoureferringtorequestattributesoutsideofanactualwebrequest,orprocessingarequestoutsideoftheoriginallyreceivingthread?Ifyouareactuallyoperatingwithina...原创 2020-08-30 21:24:39 · 1029 阅读 · 0 评论 -
feign method GET must not have a request body.超过2个参数时报Method has too many Body parameters:
feign使用okhttp3的Get方式请求接口时必须加@RequestParam,否则会报错feign method GET must not have a request body,name传入null值也会报错public Object getParamsByAppCode(@RequestParam(value = "appCode") String appCode,@RequestParam(value = "name",required=false) String name);...原创 2020-08-22 22:52:55 · 7545 阅读 · 1 评论 -
记录一次jdk编译版本不一致导致springAop和bean找不到和springboot版本不一致导致的跨系统调用时ribbon time out
老项目编译jar包时使用的JDK7,主分支合并一些新功能和fix bug,需要将主分支合并到项目分支上后做更新,这时候刚刚接手不清楚原来使用JDK7还是JDK8编译,默认以为是JDK8编译文件,所以使用JDK8编译文件后,项目启动报classNot Found和请求接口时原来的调用没生效,metaSearchService没找到,metaSearchService接口没生效,后来使用JDK编译后恢复正常。项目中common-node引用springboot2.0.9,同时引用common-bean引用s原创 2020-08-21 08:31:21 · 226 阅读 · 0 评论 -
springboot项目启动时报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded
2020-08-02 10:33:27.322 WARN 9560 --- [ restartedMain] com.netflix.discovery.DiscoveryClient : Using default backup registry implementation which does not do anything.2020-08-02 10:33:27.322 INFO 9560 --- [ restartedMain] com.netflix.discovery.Disc...原创 2020-08-02 12:39:39 · 871 阅读 · 0 评论 -
springcloud项目中eureka-server、eureka-client、config-server、zuul互相如何通信请求
auth服务在bootstrap.yml中没有指定eureka-server的ip和port,config-file中application.properties中指定eureka-server的ip和port是localhost:8761或者没有指定时,默认就是localhost:8761;这样auth服务从eureka-server上通过bootstrap.yml配置的spring.cloud.config.serviceId去找config-server,如果找到后去加载bootstrap.yml配置原创 2020-08-02 12:38:08 · 315 阅读 · 0 评论 -
spring cloud 调用feign请求超时 feign.RetryableException: Read timed out executing POST
问题介绍:服务之间调用报错超时,截取部分报错,Read timed out executing POST http://******feign.RetryableException: Read timed out executing POST http://****** at feign.FeignException.errorExecuting(FeignException.java:67) at feign.SynchronousMethodHandler.e...原创 2020-08-01 16:10:54 · 2841 阅读 · 0 评论 -
spring中使用xml作为配置文件时@Async和@Transactional不起作用的情形
首先介绍一下如何@Async注解,1xml头文件必须配置标记红色部分2配置任务和线程池 <!-- 任务及线程池 --> <task:annotation-driven executor="asyncExecutor" /> <task:executor id="asyncExecutor" pool-size="100-10000" queue-capacity="10"/> <!-- 注解扫描 -->原创 2020-07-30 19:06:56 · 1122 阅读 · 0 评论 -
修改Spring自定义异步线程池的错误
@EnableAsync@Configurationpublic class AsyncTaskExecutePoolConfig implements AsyncConfigurer {public static final int CORE_POOL_SIZE = 20;private static final int MAX_POOL_SIZE = 50;private static final int QUEUE_CAPACITY = 100;private static final转载 2020-07-28 19:56:36 · 1136 阅读 · 0 评论 -
springboot做maven聚合工程的父工程的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</modelVersio..原创 2020-07-25 22:06:19 · 443 阅读 · 0 评论