SpringCloud
文章平均质量分 82
SpringCloud
yyangqqian
这个作者很懒,什么都没留下…
展开
-
SpringCloud 之分布式事务解决方案
本地消息表(异步确保)基本思路就是:消息生产方,需要额外建一个消息表,并记录消息发送状态。消息表和业务数据要在一个事务里提交,也就是说他们要在一个数据库里面。然后消息会经过MQ发送到消息的消费方。如果消息发送失败,会进行重试发送。消息消费方,需要处理这个消息,并完成自己的业务逻辑。此时如果本地事务处理成功,表明已经处理成功了,如果处理失败,那么就会重试执行。如果是业务上面的失败,可以给生产方发送一个业务补偿消息,通知生产方进行回滚等操作。生产方和消费方定时扫描本地消息表,把还没处理完成的消息或者失原创 2022-03-30 20:58:19 · 3253 阅读 · 0 评论 -
SpringCloud 之OpenFeign远程调用丢失Header头
Gateway网关丢失请求头解决办法:在搭建微服务时,使用了SpringSecurity Oauth2认证授权,使用密码方式,从认证中心获取了token后,要将token携带在请求头中,但是发现经过gateway网关后,token丢失了。解决:通过使用过滤器,重新构建一个request,再向服务发送请求。@Componentpublic class RequestAuthFilter implements GlobalFilter, Ordered { @Override public Mon原创 2022-03-27 23:18:11 · 2556 阅读 · 0 评论 -
SpringCloud 之OpenFeign使用总结
文章目录@FeignClient注解 中属性 contextId使用OpenFeign使用okhttp3作为请求客户端@FeignClient注解 中属性 contextId使用@FeignClient注解 中属性 contextId比如我们有个user服务,但user服务中有很多个接口,我们不想将所有的调用接口都定义在一个类中,比如:Client 1@FeignClient(name = "optimization-user")public interface UserRemoteClient原创 2021-08-31 10:31:20 · 1168 阅读 · 0 评论 -
SpringCloud 之OpenFeign超时详解
如果Feign开启了熔断,必须要重新设置熔断超时的时间,因为默认的熔断超时时间太短了,只有1秒,这容易导致业务服务的调用还没完成然后超时就被熔断了。熔断器Hystrix,HystrixCommandProperties:# Feign开启熔断,默认为falsefeign.hystrix.enabled=true# 是否开始超时熔断,如果为false,则熔断机制只在服务不可用时开启,默认为truehystrix.command.default.execution.timeout.enabled=t原创 2021-08-20 11:38:22 · 1923 阅读 · 1 评论 -
SpringCloud 之分布式 CAP 定理
文章目录CAP 概述为何CAP三者不可兼得CAP 概述C、一致性、Consistency: 所有节点在同一时间具有相同的数据。A、可用性、Availability): 保证每个请求不管成功或者失败都有响应。P、分区容错性、Partition tolerance: 在分布式中,由于网络的原因无法避免有时候出现数据不一致的情况,系统如果不能在时限内达成数据一致性,不会影响系统的继续运作。CAP理论的核心: 一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满原创 2020-11-18 16:39:24 · 1628 阅读 · 1 评论 -
SpringCloud Alibaba 之前世今生
https://www.cnblogs.com/engineer-luke/p/12171058.html原创 2020-04-20 16:00:04 · 270 阅读 · 0 评论 -
SpringCloud 之Ribbon、Feign和OpenFeign的区别
RibbonRibbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件。Ribbon 可以用来做客户端负载均衡,调用注册中心的服务。Ribbon的使用需要代码里手动调用目标服务,请参考官方示例:https://github.com/Netflix/ribbonFeignFeign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端。Fe...原创 2020-04-17 15:49:10 · 1915 阅读 · 0 评论 -
SpringCloud 之注册中心Eureka、ZooKeeper、Consul 、Nacos对比
微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比原创 2020-04-15 09:28:59 · 2055 阅读 · 1 评论 -
SpringCloud 之入门概述
什么是Spring Cloud?Spring Cloud是一系列框架的集合,这一系列框架全部用Spring Boot的开发风格做到一键启动和部署,由于Spirng Boot开发的便利性,巧妙的简化了分布式系统基础设施的开发;比如:服务注册、配置中心、负载均衡、数据监控等。Spring Cloud并不是重新开发这些框架的,而是将各家公司比较成熟的框架组合起来,然后通过Spring Boot风格...原创 2019-04-09 12:16:32 · 147 阅读 · 0 评论 -
SpringCloud 之Eureka服务注册和发现
文章目录1、创建一个maven主工程2、编写服务注册中心3、编写服务客户端4、启动工程1、创建一个maven主工程首先创建一个主Maven工程,在其pom文件引入依赖。这个pom文件作为父pom文件,起到依赖版本控制的作用,其他module工程继承该pom。父pom依赖:<project> <modelVersion>4.0.0</modelVersion&...原创 2019-09-02 11:22:15 · 193 阅读 · 0 评论 -
SpringCloud 之Ribbon客户端负载均衡
编写服务消费者创建一个model工程作为服务消费者,即eureka-ribbon-client。导入依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client...原创 2019-09-02 14:26:53 · 193 阅读 · 0 评论 -
SpringCloud 之Hystrix断路器
文章目录雪崩效应Hystrix简介Ribbon中使用断路器Feign中使用断路器雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不...原创 2019-09-02 16:50:55 · 152 阅读 · 0 评论 -
SpringCloud 之OpenFeign服务消费者
Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。Feign 采用的是基于接口的注解Feign 整合了ribbon,具有负载...原创 2019-09-02 15:13:13 · 882 阅读 · 0 评论 -
SpringCloud 之Zuul服务网关
Zuul简介Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。集成Zuul创建一个model工程作为服务网关,即service-zuul。导入依赖。<dependency> <groupId>org.spri...原创 2019-09-02 17:54:31 · 275 阅读 · 0 评论 -
SpringCloud 之GateWay网关
SpringCloud 之GateWay网关原创 2019-09-04 17:47:49 · 306 阅读 · 0 评论 -
SpringCloud 之Config分布式配置中心
文章目录简介搭建Config Server搭建Config ClientClient手动刷新配置简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件Spring Cloud Config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在Spring Cloud ...原创 2019-09-03 14:19:06 · 301 阅读 · 0 评论 -
SpringCloud 之Bus消息总线
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。...原创 2019-09-04 11:20:24 · 109 阅读 · 0 评论 -
重新定义Spring Cloud实战
https://github.com/SpringCloud/spring-cloud-code原创 2019-09-10 16:45:12 · 148 阅读 · 0 评论 -
SpringCloud 之Consul注册中心
文章目录Consul环境搭建服务注册到ConsulConsul环境搭建1)下载地址https://www.consul.io/downloads.htmlhttps://releases.hashicorp.com/consul/1.2.1/2)解压,并进入到consul可执行文件所在目录。3)启动consul命令consul agent -dev -ui -node=node1...原创 2019-09-06 13:41:30 · 134 阅读 · 0 评论 -
SpringCloud 之Sleuth服务链路追踪
SpringCloud 之Sleuth服务链路追踪原创 2019-09-11 18:00:40 · 149 阅读 · 0 评论