springCloud
文章平均质量分 75
冒菜-码农
且行且珍惜
展开
-
Feign 第一次调用为什么会很慢?
先说下我自己的理解因为Feign的调用是基于Ribbon做负载,在第一次调用的时候,需要对注册中心进行注册**创建对应的Client**,所以**在第一次调用的时候,等同于创建client的时间加上请求的时间**,所以才会慢。目前比较直接的解决方式就是开启Ribbon的**饥饿模式**。原创 2024-02-22 11:03:08 · 1690 阅读 · 0 评论 -
关于nacos的配置获取失败及服务发现问题的排坑记录
特别关注:server-addr、namespace、group的这三个配置。本地的一些properties配置文件需要移除,否则影响启动时的配置加载。排查配置文件中的配置,注意配置与代码中注入的格式保持一致。原创 2023-10-24 10:42:57 · 6484 阅读 · 0 评论 -
分布式事务(Seata)原理 详解篇【转载】
在之前的系列中,我们讲解了关于Seata基本介绍和实际应用,今天带来的这篇,就给大家分析一下Seata的源码是如何一步一步实现的。读源码的时候我们需要俯瞰起全貌,不要去扣一个一个的细节,这样我们学习起来会快捷而且有效率,我们学习源码需要掌握的是整体思路和核心点。首先 Seata客户端启动一般分为以下几个流程:1.自动加载Bean属性和配置信息2.初始化TM3.初始化RM4.初始化分布式事务客户端完成,完成代理数据库配置5.连接TC(Seata服务端),注册RM和TM。转载 2023-03-21 16:39:38 · 277 阅读 · 0 评论 -
ribbon负载均衡策略及适用场景
力,比如Fegin和OpenFegin都是基于Ribbon实现的,就连Nacos中的负载均衡也使用了Ribbon框架。Ribbon框架的强大之处在于,它不仅内置了7种负载均衡策略,同时还支持用户自定义负载均衡策略,所以其开放性和便利性也是它得以流行的主要原因。原创 2022-10-25 15:50:29 · 659 阅读 · 0 评论 -
分布式系统中的“无状态”和“有状态”
有状态服务需要维护大量的信息和状态,在性能方面要稍逊于无状态服务器;无状态服务在处理简单服务方面有优势,服务之间没有联系,易于扩展,但处理复杂任务需要额外的组件来协助(以有状态服务的形式实现)。微服务要尽量做到无状态,这样可以横向扩展。状态服务原则并不是说在微服务架构里就不允许存在状态,表达的真实意思是要把有状态的业务服务改变为无状态的计算类服务,那么状态数据也就相应的迁移到对应的 “有状态数据服务” 中。原创 2022-10-24 16:25:13 · 1307 阅读 · 0 评论 -
限流方案学习汇总(业务层+技术层+分布式)
限流方案学习汇总(业务层+技术层+分布式)原创 2022-09-27 16:29:01 · 355 阅读 · 0 评论 -
分布式事务,两阶段提交协议,三阶段提交协议
在分布式系统中,为了保证数据的高可用, 通常我们会将数据保留多个副本(replica), 这些副本会放置在不同的物理机器上。为了对用户提供正确的curd等语意,我们需要保证这些放置在不同物理机器上的副本是一致的。为了解决这种分布式一致性问题,提出了很多典型的协议和算法,比较著名的是**二阶段提交协议,三阶段提交协议和paxos算法**。原创 2022-09-06 11:53:06 · 264 阅读 · 0 评论 -
Seata踩坑之与bean工厂模式的冲突
背景:1、我要使用工厂模式实现业务代码2、我需要使用全局事务个人的代码思路1、定义统一业务接口类(IBusService),每种业务类型做不同的实现(BusServiceImpl),实现类指定serviceName给spring的IOC2、定义工厂接口类(IBusFactoryService),其实现通过入参的类型不同获取不同的实现类遇到的问题:1、每个BusServiceImpl的实现方法上添加@GlobalTransactional(rollbackFor = Exception.clas原创 2022-04-14 19:45:58 · 520 阅读 · 0 评论 -
解决 required a single bean, but 2 were found的spring注入bean错误
背景介绍个人定义了一个interface,为了抽象与规范使用泛型进行约束,名字举例为 ITestService.javapublic interface ITestService<T extends BaseTest>{ void test();}通过不同的业务场景需要进行不同的实现,比如 ITestServiceImplOne.java、ITestServiceImplTwo.java举例:(注:TestOne extends BaseTest)@Servicepublic原创 2021-11-30 11:32:31 · 23088 阅读 · 1 评论 -
feign Post请求报错400 排查思路及解决过程分享
错误信息展示:这是kibana上的日志输出,报错400 bad request!背景feign版本3.0.0分布式项目测试环境运行服务内部通过POST请求进行交互报错400断言初步断言可能存在的情况:1、调用者与被调用者的feign请求方式不统一2、调用者与被调用者的参数不匹配解决过程根据断言排查根据断言排查发现,全部无误:调用者使用POST方式请求,被调用者使用POST方式提供接口入参类型及名称均一致被调用者使用@RequestParam(“xxx”)的方式接收多个参数原创 2021-08-04 17:35:57 · 13808 阅读 · 1 评论 -
分布式环境下,修改服务名称需要注意的几个点
修改服务命名注意事项整理:1、pom文件中修改artifactId标签内容2、pom文件中build标签体添加:finalName标签体,内容为要打包的jar名称注意:如果是父子maven工程请注意父级工程pom中的modules标签体内容与修改后的一致3、IDEA开发工具中,选中maven工程–> 右键选择Refactor --> 选择Rename --> 选择第一个,修改内容与第一条内容一致4、代码中全局搜索历史的服务名,在@FeignClient注解的部分中调整为统一部分原创 2021-02-20 15:45:11 · 319 阅读 · 0 评论 -
SpringCloud中Feign踩坑整理
问题1:注解冲突@EnableFeignClients与@ComponentScan有冲突两种注解都会搜索注入指定目录中的bean@EnableFeignClients 引入了FeignClientsRegistrar类,实现了spring的bean、资源的加载FeignClientsRegistrar中registerFeignClients获取了@EnableFeignClients注解中的basepackage值,并进行注入如果两种注解都使用时,其中@EnableFeignClients会覆原创 2021-02-10 11:01:39 · 3589 阅读 · 0 评论 -
【Spring Cloud Spring Security Oauth2】Spring Security Oauth2 + Redis + Gateway网关 + Mybatis + Mysql 整合
目录一、环境要求二、源码下载地址三、参考文献四、项目预览截图说明五、oauth2.0认证授权项目5.1 POM依赖5.2 yml配置及启动类5.3 认证配置与资源配置5.4 自定义UserDetailsService5.5 security配置5.6 自定义无加密密码验证5.7 druid连接池配置5.8 执行数据库脚本5.9 测试认证授权5.9.1 获取token5.9.2 测试访问授权资源5....原创 2019-12-20 17:49:59 · 4080 阅读 · 0 评论 -
【springCloud2 Finchley版本】完整SpringCloud2框架,可直接拿来使用,附带详细教程及开源代码,持续更新
目录一、项目简介1.1 项目目标1.2 项目环境要求1.3 项目工程结构 -持续更新1.4 完整代码下载地址二、扬帆起航2.1 创建cloud工程作为Maven父级工程2.2 cloud父级工程pom依赖2.3 创建Maven的module项目示例三、别离码头-注册中心-eureka3.1 pom文件3.2 配置文件-高可用3.3 启动类3.4 修改Host文件3.5 打包测试三、藏宝图-准备测试...原创 2019-12-14 11:14:03 · 2605 阅读 · 7 评论 -
解决Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springfra。。。
报错信息:***************************APPLICATION FAILED TO START***************************Description:Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gat...原创 2019-12-10 17:51:47 · 26679 阅读 · 10 评论 -
解决gateway报错org.springframework.cloud.gateway.support.NotFoundException: Unable to find instance for
gateway报错:org.springframework.cloud.gateway.support.NotFoundException: Unable to find instance for localhost配置:浏览器访问:http://localhost:8888/cloud_producer/get (cloud_producer是我注册到注册中心的一个客户端)...原创 2019-12-10 09:16:37 · 17944 阅读 · 0 评论 -
解决The bean 'hiddenHttpMethodFilter', defined in class path resource [org/springframework/cloud/gatew
报错:The bean 'hiddenHttpMethodFilter', defined in class path resource [org/springframework/cloud/gateway/config/GatewayAutoConfiguration.class]版本问题,参照https://blog.csdn.net/qq_33333654/article/deta...原创 2019-12-09 18:00:07 · 2058 阅读 · 0 评论 -
解决Singleton bean creation not allowed while singletons of this factory are in destruction (Do not re
环境:springcloud F版本+maven工程注册中心正常,创建普通的client项目,向注册中心注册,启动项目失败。解决控制台警告错误信息:Invocation of destroy method failed on bean with name 'scopedTarget.eurekaClient': org.springframework.beans.factory.Bea...原创 2019-12-07 13:45:43 · 16816 阅读 · 0 评论 -
【springCloud杂谈】网关zuul与springcloudgateway 对比
参考文献:https://www.cnblogs.com/qnloft/p/qing-ning-kai-cheSpring-Cloud-liu--Spring-Cloud-Ga.htmlspringCloud发展方向汇总参考文章(很详细):https://blog.csdn.net/yalishadaa/article/details/79400916...原创 2019-12-06 18:11:17 · 869 阅读 · 0 评论 -
【springCloud杂谈】分布式CAP定理及各注册中心对比
大家应该知道eureka闭源了,接下来在springcloud2的时候可能会遇到一些不可把控的问题。不过相对于国内市场来讲,影响很小,大部分还停留在D版本(目前已发布到了G版本了)。这里就考虑是否需要更换注册中心了。下图为cloud支持注册中心的功能对比图:关于CAP可参考文章:https://blog.csdn.net/yeyazhishang/article/details/...原创 2019-12-06 18:02:11 · 380 阅读 · 0 评论 -
SpringBoot与SpringCloud的版本及SpringCloud1与SpringCloud2
首先是SpringBoot与SpringCloud的版本对照,可以看下这篇博客https://blog.csdn.net/qq32933432/article/details/89375630补充:目前最新版本为Spring Cloud Greenwich.SR4访问https://spring.io/blog/category/releases?spm=a2c6h....原创 2019-12-06 16:11:41 · 2480 阅读 · 0 评论 -
【springCloud基础篇-17】Spring Cloud Sleuth和Zipkin进行分布式链路跟踪
接上篇文章:https://blog.csdn.net/qq_33333654/article/details/103389470参考文献:http://www.ityouknow.com/springcloud/2018/02/02/spring-cloud-sleuth-zipkin.htmldemo代码地址:https://download.csdn.net/download/qq_...原创 2019-12-05 11:49:15 · 206 阅读 · 0 评论 -
【springCloud基础篇-16】Spring Cloud Zuul之自定义Filter及路由熔断及路由重试
接上篇文章:https://blog.csdn.net/qq_33333654/article/details/103269348参考文献:http://www.ityouknow.com/springcloud/2018/01/20/spring-cloud-zuul.htmldemo代码地址:https://download.csdn.net/download/qq_33333654/...原创 2019-12-04 16:54:56 · 375 阅读 · 0 评论 -
【springCloud基础篇-15】Spring Cloud Zuul网关基础入门使用
接上篇文章:https://blog.csdn.net/qq_33333654/article/details/103182042demo代码地址:https://download.csdn.net/download/qq_33333654/12014918首先准备好自己的服务中心。创建对应的server项目并注册到注册中心,供client调用。我的server项目配置如下:...原创 2019-11-27 09:44:57 · 197 阅读 · 0 评论 -
【springCloud基础篇-14】Spring Cloud Bus 之RabbitMQ方式
请先保证RabbitMQ已安装,参考博客:https://blog.csdn.net/qq_33333654/article/details/103177091基于之前的文章继续,基础篇第12章:https://blog.csdn.net/qq_33333654/article/details/103090717注意环境与版本。该文章参考博客:http://www.ityouknow....原创 2019-11-21 14:44:40 · 391 阅读 · 0 评论 -
解决使用RabbitMQ后报错An unexpected connection driver error occured 的问题
详细按照教程:https://blog.csdn.net/qq_33333654/article/details/103177091问题排查顺序:1、检查配置文件spring: application: name: spring-cloud-config-client rabbitmq: host: localhost port: 5672 ...原创 2019-11-21 13:39:48 · 5214 阅读 · 3 评论 -
【springCloud基础篇-13】Spring Cloud Bus 准备之RabbitMQ详细安装教程
Spring Cloud Bus 准才用RabbitMQ的方式进行,当然你也可以才用kafka。首先下载RabbitMQ所需要依赖的开发包ErLang,官方地址个人CSDN的下载地址:https://download.csdn.net/download/qq_33333654/11987701进入官方地址选择如图下载:一路下一步,安装的时候安装到自己选择的路径就好,我安装的D...原创 2019-11-21 10:06:23 · 851 阅读 · 0 评论 -
【springCloud基础篇-12】Spring Cloud Config 配置中心之高可用
接上篇文章:https://mp.csdn.net/postedit/103089572demo代码地址:https://download.csdn.net/download/qq_33333654/12014918所谓高可用也是保证客户端调用服务端的时候能正常调用。解决方案就是服务端做成集群方式。首先修改server项目启动类添加注解: @EnableDiscoveryClien...原创 2019-11-15 18:59:51 · 164 阅读 · 0 评论 -
【springCloud基础篇-11】Spring Cloud Config 配置中心之refresh与SVN示例(他人的博客地址)
接上篇文章。demo代码地址:https://download.csdn.net/download/qq_33333654/12014918SVN示例的博客地址:http://www.ityouknow.com/springcloud/2017/05/23/springcloud-config-svn-refresh.htmlrefresh:客户端client项目添加依赖:...原创 2019-11-15 17:54:11 · 145 阅读 · 0 评论 -
【springCloud基础篇-10】Spring Cloud Config 配置中心之客户端搭建,及调用方法还有自己踩的坑
接上篇文章(config的服务端):https://blog.csdn.net/qq_33333654/article/details/103081664demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境什么的跟上一篇一样。首先启动注册中心,具体可参考我之前的注册中心高可用博客:https://blo...原创 2019-11-15 13:29:03 · 171 阅读 · 0 评论 -
【springCloud基础篇-9】Spring Cloud Config 配置中心之服务端搭建及讲解和多种搭建方式
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境:jdk1.8maven3.0ideaspringboot1.5.3首先需要启动自己的注册中心,具体可参考我之前的注册中心高可用博客:https://blog.csdn.net/qq_33333654/article/details/102...原创 2019-11-15 11:39:39 · 280 阅读 · 0 评论 -
【springCloud基础篇-8】SpringCloud的熔断汇总统计之Hystrix-Turbine(接上篇)的基础使用
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境:基于上篇文章的基础。知道了什么是熔断,也看到了熔断的监控以后。在复杂的分布式系统中,相同服务的节点经常需要部署上百甚至上千个,很多时候,运维人员希望能够把相同服务的节点状态以一个整体集群的形式展现出来,这样可以更好的把握整个系统的状态。 为此,Netfl...原创 2019-10-29 14:27:23 · 297 阅读 · 0 评论 -
【springCloud基础篇-7】SpringCloud的熔断监控之Hystrix-dashboard(接上篇)的基础使用
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境:基于上篇consumer项目基础1、添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>...原创 2019-10-29 13:31:04 · 130 阅读 · 0 评论 -
【springCloud番外篇】SpringCloud最常用配置详解
推荐博客:https://yq.aliyun.com/articles/661387由于版权问题,不能拿过来,后续会慢慢补充一些核心的。注册中心:eureka: client: service-url: defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/,http://peer3:8...原创 2019-10-29 10:22:51 · 116 阅读 · 0 评论 -
【springCloud基础篇-6】SpringCloud的熔断器(CircuitBreaker)之Feign Hystrix(接上篇)的基础使用
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境:上篇文章环境的基础https://blog.csdn.net/qq_33333654/article/details/102782751基础知识了解雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可...原创 2019-10-29 10:18:02 · 1848 阅读 · 0 评论 -
【springCloud基础篇-5】SpringCloud的服务提供与调用(Feign方式调用)之创建消费者(接上篇),附带讲解说明
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918上篇地址:https://blog.csdn.net/qq_33333654/article/details/102782319环境:IDEAmaven 3.0spirngboot1.5.3注:本人无法在springboot2.2.0中使用Enab...原创 2019-10-28 16:09:17 · 528 阅读 · 0 评论 -
【springCloud基础篇-4】SpringCloud的服务提供与调用之创建服务提供者,附带图片教程
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境:IDEAjdk1.8maven3.0springboot2.2.0(坑多,后续分布式博客可能改用1.x版本)注:该篇文章是建立在注册中心高可用博客基础上写的。地址:https://blog.csdn.net/qq_33333654/a...原创 2019-10-28 15:55:59 · 205 阅读 · 0 评论 -
解决springboot2.2.0项目添加@EnableDiscoveryClient注解找不到的问题
环境:IDEAmaven3.0springboot2.2.0特别注意springboot的版本,1.0和2.0有很大区别解决办法:pom添加:<dependency> <groupId>org.springframework.cloud</groupId> <artifact...原创 2019-10-28 15:28:21 · 12612 阅读 · 1 评论 -
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused:
注册中心启动报错:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused:解决办法:配置文件中添加register-with-eurekafetch-registry如果你是prpperties文件请添加:# 此应用为注册中心,fa...原创 2019-10-28 09:42:34 · 870 阅读 · 0 评论 -
【springCloud基础篇-3】使用IDEA创建Eureka注册中心Clien项目
demo代码地址:https://download.csdn.net/download/qq_33333654/12014918环境IDEA + MAVEN +jdk1.8+win10首先可以参考我之前写的博客进行本地单节点的eureka项目创建:https://blog.csdn.net/qq_33333654/article/details/102622685这个单节点项目将会...原创 2019-10-19 11:48:24 · 262 阅读 · 0 评论