spring cloud脚手架架构
文章平均质量分 87
spring cloud架构体系,集成常用组件,快速起步脚手架
markyang088
这个人太懒,啥也没留下,钱也没有
展开
-
spring cloud组件:Hystrix服务熔断与服务降级
服务熔断与服务降级 服务熔断 服务雪崩:是一种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程。 雪崩效应:服务提供者因为不可用或者延迟高在成的服务调用者的请求线程,阻塞的请求会占用系统的固有线程数、IO等资源,当这样的被阻塞的线程越来越多的时候,系统瓶颈造成业务系统炎黄崩溃,这种现象成为雪崩效应 熔断机制:熔断机制是服务雪崩的一种有效解决方案,当服务消费者请求的服务提供者因为宕机或者网络延迟高等原因造车过暂时不能提供服务时,采用熔断机制,原创 2021-01-14 22:22:39 · 4611 阅读 · 0 评论 -
SpringCloud组件:Ribbon负载均衡
简单介绍 Ribbon还是那个当初租碟片营生起家的NetFlix公司研发发布的,并被SpringCloud集成到了项目中,当我们为Ribbon配置服务提供者的地址列表后,Ribbon就可以根据多种之一的负载均衡算法自动的去分配服务消费者的请求; 由于我们已经学习过了Feign,所以RestTemplate的负载均衡我记得之前的笔记中是有的,在返回RestTemplate到Spring容器的方法上加上一个@LoadBalanced注解即可实现,只是现在被我证实了,当我们使用Ribbon负载均衡后原创 2021-01-14 22:08:03 · 4431 阅读 · 0 评论 -
SpringCloud组件:OpenFeign远程调用
最开始我们RestTemplate,当时直连消费者和提供者,将请求路径写死在代码中,而且负载均衡只有自己手写,RestTemplate只能给我们提供远程调用的功能,后来我们加入了Eureka,作为一个中间人,利用Eureka的服务的注册发现和监控和负载均衡,通过Eureka客户端获取指定服务名的ip或者应用名+端口,动态拼接成url,外加上RestTemplate一起完成远程的调用,但你有没有发现RestTemplate这个包装类有点小问题,而且这样搞起来很麻烦 服务提供者有返回数据,但经过RestT原创 2021-01-14 21:59:47 · 4592 阅读 · 0 评论 -
Hystrix熔断器
一、Hystrix简介Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性、容错性与局部应用的弹性,是一个实现了超时机制和断路器模式的工具类库。二、Hystrix的设计原则防止任何单独的依赖耗尽资源(线程)过载立即切断并快速失败,防止排队尽可能提供回退以保护用户免受故障使用隔离技术(例如隔板,泳道和断路器模式)来限制任何一个依赖的影响通过近实时的指标,监控和告警,确保故障被及时发现通过动态修改配置属性,确保故障及时原创 2020-11-18 10:41:50 · 1970 阅读 · 0 评论 -
Gateway中使用SpringSecurity进行网关鉴权与权限控制
需求设求众所周知,一切架构都必须按需求来设计,万能构架基本上是不存在的,即使是像Spring Security安全架构也只是实现了一个能用方式,并不是放之四海而皆准的,但是一个构架的良好扩展性是必须的,可以让使用者按照自己的需要进行扩展使用。所以为了说明本示例的实现,先假定这样一个需求1,需要有一个Web网关服务进行权限统一认证2,网关后面有一个用户管理服务,负责用户账号的管理3,网关后面还存在其它的服务,但是这些服务需要认证成功之后才能访问4,需要支持同一个请求可以被多个角色访问主要技能点说明原创 2020-11-16 14:15:12 · 14041 阅读 · 1 评论 -
SpringCloud微服务网关服务限流方案
在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击。常见的限流方式,比如Hystrix适用线程池隔离,超过线程池的负载,走熔断的逻辑。在一般应用服务器中,比如tomcat容器也是通过限制它的线程数来控制并发的;也有通过时间窗口的平均速度来控制流量。常见的限流纬度有比如通过Ip来限流、通过uri来限流、通过用户访问频次来限流。一般限流都是在网关这一层做,比如Nginx、Openresty、kong、zuul、Spring Cloud原创 2020-11-16 11:37:33 · 5309 阅读 · 0 评论 -
微服务中的 API 网关(API Gateway)
以下是个人于搭建脚手架过程中的一些理念。SpringCloud微服务架构中,会使用到Zuul组件做边缘服务,即网关服务。那么可想而知,网关作为边缘服务,其承受的压力是最大的,当然是要考虑网关的高可用,那么就需要多个网关服务集群部署,从而达到高可用目的。层看到过“双重网关”的概念,不过目前不讨论这个,有兴趣的可以看双重网关。需求设求众所周知,一切架构都必须按需求来设计,万能构架基本上是不存在的,即使是像Spring Security安全架构也只是实现了一个能用方式,并不是放之四海而皆准的,但是一个构架的原创 2020-11-14 11:04:06 · 4794 阅读 · 0 评论