Spring Cloud
五百年前FHYA
闻道有先后,术业有专攻。
展开
-
Gateway + Oauth2实现单点登录
单点登录原创 2022-07-26 18:04:04 · 2201 阅读 · 0 评论 -
Spring Cloud
一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解。二、spring cloud特点1、约定优于配置。2...原创 2018-06-14 14:46:25 · 151 阅读 · 0 评论 -
Spring Cloud 微服务注册与发现
服务提供者、服务消费者、服务发现组件三者之间的关系1、各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件,服务发现组件会存储这些信息。2、服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者接口。3、各个微服务于服务发现组件使用一定的机制(心跳)通信,服务发现组件如长时间无法与某微服务实例通信,就会注销该实例。4、微服务网络地址发生变更时,会重新注册到服务发现组...原创 2018-06-14 15:44:44 · 323 阅读 · 0 评论 -
Spring Cloud使用Ribbon实现客户端负载均衡
一、Ribbon简介Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为,为Ribbon配置服务提供者地址列表后,Ribbon就可以基于某种负载均衡算法,自动地帮助服务消费者去请求,Ribbon默认提供了很多的负载均衡算法,如轮询、随机等,也可以使用自定义负载均衡算法。Ribbon 已经默认实现了这些配置bean:IClientConfig ribbonClien...原创 2018-06-14 16:07:03 · 201 阅读 · 0 评论 -
Spring Cloud 使用Feign实现声明式REST调用
一、Feign简介Feign是Netflix开发的声明式、模板化的HTTP客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解Feign ...原创 2018-06-14 17:11:58 · 403 阅读 · 0 评论 -
Spring Cloud 使用Hystrix实现微服务的容错处理
如何容错容错机制:1、为网络请求设置超时:必须为网络请求设置超时,一次远程调用对应着一个线程/进程,如果响应太慢,这个线程得不到释放,占用着系统资源,如果此类线程过多,就会耗尽资源,最终导致服务不可用。2、使用断路器模式:断路器可理解为对容易导致错无的操作的代理,这种代理能够统计一段时间内调用失败的次数,并决定是正常请求依赖的服务还是直接返回。断路器也可以自动诊断依赖的服务是否已经恢复正常,如已恢...原创 2018-06-14 18:20:54 · 3270 阅读 · 1 评论 -
SpringCloud 使用Zuul构建微服务网关
为什么要使用微服务网关?不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下问题:1、客户端会多次请求不同的微服务,增加了客户端的复杂性。2、存在跨域请求,在一定场景下处理相对复杂。3、认证复杂,每个服务都需要独立认证。4、难以重构,随着项目的迭代,可能需要重新划分微服务。5、某些微服务可能使用了防火墙或浏览器不...原创 2018-06-19 11:57:20 · 6990 阅读 · 5 评论 -
使用Spring Cloud Sleuth实现微服务跟踪
一、简介Spring Cloud Sleuth为Spring Cloud提供了分布式跟踪的解决方案,大量借用了Google Dapper、 Twitter Zipkin和Apache HTrace的设计。Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。Sleuth术语:1、span(跨度):...原创 2018-06-19 14:21:22 · 269 阅读 · 0 评论