
Spring Cloud
文章平均质量分 62
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
y_bccl27
这个作者很懒,什么都没留下…
展开
-
Spring Cloud基础入门
鉴于Spring Cloud是基于Spring Boot的基础之上进行开发的,因此在构建项目的时候pom.xml中需要先引入Spring Boot的依赖,即<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.1.RELEASE</ve原创 2020-08-17 23:07:50 · 120 阅读 · 0 评论 -
Spring Cloud 服务治理
服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务实例的自动化注册与发现。服务注册: 在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机和端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。服务注册中心还需要以心跳的方式去监测清单中的服务是否可用,若不可用,需从服务清单中剔除,达到清楚障碍的目的。...原创 2019-01-23 09:26:18 · 251 阅读 · 0 评论 -
Spring Cloud中的@EnableDiscoveryClient注解和@EnableEurekaClient注解
在Spring Cloud中我们会发现在启动类中不管是使用@EnableDiscoveryClient注解还是使用@EnableEurekaClient注解都可以将Eureka Client注册到Eureka Server(注册中心)中@EnableEurekaClient@SpringBootApplicationpublic class ClientApplication { public static void main(String[] args) { SpringApplicat原创 2020-09-05 00:17:22 · 764 阅读 · 0 评论 -
Spring Cloud的Eureka Server(注册中心)在程序启动的时候报错:Cannot execute request on any known server
问题描述:Spring Cloud的Eureka Server(注册中心)在程序启动的时候报错:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server解决方法:先仔细检查,指定的注册中心 eureka.client.serviceUrl.defaultZone的地址是否正确,端口号有没有写错。然后再在配置文件中添加以下配置:eureka: c原创 2020-09-05 00:01:47 · 501 阅读 · 0 评论 -
Spring Cloud 启动Eureka的Client(客户端)时,项目一启动就停止,控制台无任何报错信息
问题描述:再利用IDEA开发工具快速构建一个Spring Cloud中Eureka 客户端(client)后,项目一点击启动就停止,控制台无任何报错信息。解决方法:在该项目的pom.xml中添加web依赖<dependency> <groupId>org.springframework.boot</groupId> <arti...原创 2019-01-23 11:43:19 · 2637 阅读 · 4 评论 -
Spring Cloud 负载均衡
负载均衡是微服务架构中必须使用的技术,通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过硬件设备及软件来实现,硬件比如:F5、Array等,软件比如:LVS、Nginx等。如下图是负载均衡的架构图: 用户请求先达到负载均衡器(也相当于一个服务),负载均衡根据负载均衡算法将请求转发到微服务。负载均衡算法有:轮询、随机、加权轮询、加权随机、地址哈希等方法,负载均衡器维...原创 2019-01-23 15:51:13 · 612 阅读 · 0 评论 -
Spring Cloud 中的@FeignClient注解
@FeignClient:属于Spring Cloud技术架构体系中的一个注解,其作用是可以让当前服务调用其它应用服务的接口,相比于RestTemplate使用起来更加灵活。原创 2020-09-05 18:42:01 · 6402 阅读 · 0 评论 -
Spring Cloud 中的@FeignClient注解中的contextId属性
在使用@FeignClient注解前,我们需要先引入其相关依赖,版本为3.0.1<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>3.0.1</version></dependency>原创 2021-09-01 10:40:53 · 3400 阅读 · 0 评论 -
Spring Cloud Feign 启动报错 java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalan
问题描述:在Spring Cloud项目中引入了feign后启动项目,项目会报错:java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalan,导致项目无法启动解决办法:出现该问题的原因是feign相关的jar缺少,引入的依赖少了。Maven默认下载的是2.0.0.M2版本.源码中是没有LoadBala...原创 2019-02-26 11:53:01 · 4203 阅读 · 1 评论 -
Spring Cloud中关于@EnableFeignClients注解的属性字段basePackages
一般情况下,我们在启动类上面添加了@EnableFeignClients注解就是表明当前应用服务(我们称之为服务A)中有的地方想要引用其它应用服务(我们称之为服务B)中的接口。如果服务B可以单独启动起来并且注册到注册中心,则我们仅仅在服务A的启动类中添加@EnableFeignClients注解即可;如果服务B没有单独启动起来,而是以Jar包的形式被引入到服务A中,则服务A在启动的时候是不会主动去加载服务B中标注了@FeignClient注解的interface而去自动生成bean对象,这样我们在服务A中的原创 2020-10-05 17:58:35 · 13467 阅读 · 7 评论 -
Spring Cloud 设置Feign的日志记录级别
Spring Cloud 设置Feign的日志记录级别原创 2021-05-10 16:02:28 · 5290 阅读 · 0 评论 -
Spring Cloud 配置中心中的native配置
再使用native之前需要先做几件事情第原创 2020-11-03 22:15:28 · 2423 阅读 · 0 评论 -
调用远程接口上传文件
问题描述:第三方写了一个文件上传的接口,该接口的请求方式为Post请求,请求参数全部是以form-data表单形式进行提交,包含三个参数第一个:cookie(字符串类型)第二个:seqNo(字符串类型)第三个:file(文件类型)解决方法: 使用传统的Spring Cloud的Feign组件在调用远程接口实现文件上传时有时会出现异常错误,可考虑使用下述两种方式文件上传第一种方式:使用RestTemplate进行调用import org.springframework.core...原创 2021-03-22 18:32:40 · 1399 阅读 · 0 评论 -
Spring Cloud 相关配置信息说明
#自我保护机制eureka: server: enable-self-preservation: false自我保护机制,默认为开启(true),一般最好还是建议设置为false,为防止后续微服务的调用不会出错eureka: instance: hostname: clientName给注册到Eureka Server上的服务起别名,可任意起...原创 2020-09-05 00:40:11 · 324 阅读 · 0 评论 -
Spring Cloud Hystrix 进行服务熔断设置时,报错找不到对应的服务熔断方法
问题描述:在进行服务熔断时出现 [Request processing failed; nested exception is com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't found: checkUserFallbackMethod([class java.lang.String, class java.lang.String])] 错误,即找不到对应的服原创 2020-09-04 11:22:29 · 839 阅读 · 0 评论 -
限流算法-令牌桶算法
常用的限流算法有令牌桶法和漏桶,而Google开源项目Guava中的RateLimiter使用的就是令牌桶算法。在使用令牌桶算法时需要引入如下依赖:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>29.0-jre</version></dependency&g原创 2020-09-18 23:25:57 · 864 阅读 · 0 评论 -
Spring Cloud服务网关 Zuul
服务网关是在微服务前边设置一道屏障,请求先到服务网关,网关会对请求进行过滤、校验、路由等处理。有了服务网关可以提高微服务的安全性,校验不通过的请求将被拒绝访问。Spring Cloud Zuul是整合Netflix公司的Zuul开源项目实现的微服务网关,它实现了请求路由、负载均衡、校验过滤等功能。 ...原创 2020-09-04 11:46:23 · 103 阅读 · 0 评论 -
Spring Cloud服务网关(Zuul)的配置项sensitiveHeaders
如果我们在一个服务中添加了Cookie,如下图所示:public static void set(HttpServletResponse response,String name,String value,int maxAge) { Cookie cookie = new Cookie(name, value); cookie.setPath("/"); cookie.setMaxAge(maxAge); response.addCookie(cookie);}但原创 2020-09-19 21:25:54 · 1790 阅读 · 0 评论 -
Spring Cloud服务网关Gateway
Zuul属于Spring Cloud Netflix下一个组件,在早期Spring Cloud中使用的比较多。Gateway是由Spring自己推出的网关产品,完全依赖Spring自家产品。符合Spring战略意义,其版本更新等都由Spring自己把控。目前很多项目中都是使用Gateway替代Zuul。原创 2022-02-12 21:29:59 · 641 阅读 · 0 评论 -
Spring Cloud中查看服务网关(Zuul)中的所有路由节点
问题描述:在Spring Cloud的早期版本(例如1.X版本)中如果想查看Zuul的所有路由节点,我们除了在pom.xml中引入依赖外,还需要在application.yml文件中添加如下配置:#暴露所有端点management: security: enabled: false然后我们在浏览器中输入http://ip:端口号/routes/details即可查到网关服务中所有的网关,但是当我们的Spring Cloud 的版本进行升级后,例如现在为2.2.4版本:原创 2020-09-18 18:12:36 · 1796 阅读 · 0 评论 -
Spring Boot + JdbcTemplate + jta-atomikos 解决分布式事务
JTA全称“Java Transaction API”,JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。所以,当我们在同时操作多个数据库的时候,使用JTA事务就可以弥补JDBC事务的不足。原创 2022-10-29 15:31:29 · 933 阅读 · 0 评论 -
Spring Boot + Spring Data Jpa + jta-atomikos 解决分布式事务
Spring Data Jpa使用jta-atomikos解决Spring Boot项目中的分布式事务时,依赖的版本很重要,版本不同,则将各个数据源的事务交给jta-atomikos全局事务的方式有所不同。原创 2022-10-26 22:26:35 · 792 阅读 · 0 评论 -
Spring Boot + mybatis + jta-atomikos 解决分布式事务
Spring Boot项目中多数据源的分布式事务问题,可以采用jta-atomikos解决。原创 2022-10-23 10:01:09 · 559 阅读 · 0 评论 -
Spring Boot 分布式事务的解决方案(JTA+Atomic+多数据源)
首先,到底啥是分布式事务呢?比如我们在执行一个业务逻辑的时候有两步分别操作A数据源和B数据源,当我们在A数据源执行数据更改后,在B数据源执行时出现运行时异常,那么我们必须要让B数据源的操作回滚,并回滚对A数据源的操作;这种情况在支付业务时常常出现;比如买票业务在最后支付失败,那之前的操作必须全部回滚,如果之前的操作分布在多个数据源中,那么这就是典型的分布式事务。原创 2022-10-23 21:54:23 · 629 阅读 · 0 评论 -
分布式事务框架-TX-LCN
分布式事务框架TX-LCN的官网地址为:http://www.txlcn.org,但是目前由于这个框架已经停止维护了。如果有必要进行研究的话,可以学习下述https://codingdict.com/os/software/65652原创 2022-03-06 10:02:59 · 587 阅读 · 0 评论