Spring Cloud
文章平均质量分 91
未禾
当有一天,迂迂回回后终于到达了想去的地方,才会惊讶地发现,原来之前所经过的一切,都是通往这里的必经之路,少一步都无法塑造出今天的你。
展开
-
Spring Cloud专栏目录
1. 微服务基本介绍2. Netflix Eureka(服务注册/发现)基本介绍3. Netflix Eureka基本使用4. Netflix Eureka参数配置项详解5. Netflix Ribbon负载均衡6. Netflix Feign远程调用7. Netflix Hystrix(断路器)8. Ribbon、Feign、Hystrix之间关系9. Netflix Zuul(服务网关)10. Netflix Zuul(服务网关)基本使用11. Netflix Zuul过滤器(ZuulFilter)12原创 2024-01-26 14:06:22 · 194 阅读 · 0 评论 -
8.Ribbon、Feign、Hystrix之间关系
Ribbon 作为负载均衡,在客户端实现,服务段可以启动两个端口不同但servername一样的服务Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。原创 2023-05-11 11:13:49 · 110 阅读 · 0 评论 -
12.分布式配置(Spring Cloud Config)
Spring Cloud Config为分布式系统中的外部化配置提供服务器端和客户端支持。使用Config Server,可以在中心位置管理所有环境中应用程序的外部属性;方便部署与运维。分客户端、服务端。Spring Cloud Config是一种用来动态获取Git、SVN、数据库、本地的配置文件等的一种工具;即把应用原本放在本地文件的配置抽取出来放在中心服务器,本质是配置信息从本地迁移到云端。从而能够提供更好的管理、发布能力Spring Cloud Config分服务端和客户端,服务端负责将git原创 2023-05-11 10:38:37 · 267 阅读 · 0 评论 -
11.Netflix Zuul过滤器(ZuulFilter)
Zuul作为网关的其中一个重要功能,就是实现请求的鉴权。而这个动作往往是通过Zuul提供的过滤器来实现ZuulFilter:过滤器的顶级父类。在其中定义了4个重要方法(1)shouldFilter返回一个Boolean值,判断该过滤器是否需要执行。返回true执行,返回false不执行(2)filterType返回字符串,代表过滤器的类型。包含以下4种:类型 描述pre 请求在被路由之前执行。适用于身份认证的场景,认证通过后再继续执行下面的流程route 在路由请求时调用。适用于灰度原创 2023-05-11 09:47:59 · 267 阅读 · 0 评论 -
10.Netflix Zuul(服务网关)基本使用
比如:/zuul-house/user/login接口,在加上前缀后,即访问http://localhost:8000/rest/user/login接口。当访问http://localhost:8000/api/1的时候会路由到本地的http://localhost:8000/local/1上去。内部服务的数量会很多,而且可以随时扩展,不可能每增加一个服务就改一次路由的配置,所以也得通过结合Eureka来实现动态的路由转发功能。在API前面配置一个统一的前缀,即在每个接口前面加一个rest(前缀)原创 2023-05-11 09:38:39 · 226 阅读 · 0 评论 -
9.Netflix Zuul(服务网关)
Spring Cloud Zuul是Netflix OSS开源的微服务网关,是一个基于JVM路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。可以和Eureka、Ribbon、Hystrix等组件配合使用,Spring Cloud对Zuul进行了整合与增强,Zuul默认使用的HTTP客户端是Apache HttpClient,也可以使用RestClient或okhttp、HttpClient。Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/demo/test转发到到原创 2023-05-11 09:25:26 · 252 阅读 · 0 评论 -
7.Netflix Hystrix(断路器)
Hystrix(豪猪),全身是刺,看起来就不好惹,是一种保护机制。Hystrix也是Netflix公司的一款组件。具有服务降级、熔断、线程池隔离、信号量隔离、缓存等功能,基本上能覆盖到微服务中调用依赖服务会遇到的问题原创 2023-05-11 09:13:41 · 144 阅读 · 0 评论 -
6.Netflix Feign远程调用
Feign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单。它整合了Eureka和Ribbon,从而不需要开发者针对 Feign 对其进行整合。Feign还提供了HTTP请求的模板,通过编写简单的接口和注解,就可以定义好HTTP请求的参数、格式、地址等信息。Feign会完全代理HTTP的请求,在使用过程中只需要依赖注入Bean,然后调用对应的方法传递参数即可原创 2023-05-10 16:56:32 · 206 阅读 · 0 评论 -
5.Netflix Ribbon(客服端负载均衡)
负载均衡(Load Balance,简称LB),在微服务或分布式集群中经常用到的一种功能;就是将用户的请求以某种规则平摊到多个服务器上,从而达到系统的高可用常见的负载均衡有软件例如Nginx、LVS等等,硬件F5等等。相应的在中间件,例如Dubbo和Spring Cloud中均提供了负载均衡,Spring Cloud的负载均衡算法可以自定义。原创 2023-05-10 16:28:11 · 245 阅读 · 0 评论 -
4.Netflix Eureka参数配置项详解
分为客户端(Eureka Client)配置、服务端(Eureka Server)配置、微服务端配置,一共100多项,其中有很多配置参数并不需要去修改,使用默认的就好,有些跟业务相关的配置参数可根据需要自行设置。原创 2023-05-10 15:50:10 · 267 阅读 · 0 评论 -
3.Netflix Eureka基本使用
当服务启动时会根据service-url地址去进行注册,而当前是单机模式而非集群,service-url的值为自身的路径,这时就会出现自己注册自己的情况,但是自身并没有启动成功,从而就会出现(ConnectException: Connection refused: connect)无法连接的错误,因为默认值是true所以当单机环境下,需要设置为false。默认情况下,Eureka是将服务的HostName(主机名)注册至服务发现中心,如果没有配置dns或者host,则无法通过主机名访问服务。原创 2023-05-10 15:11:34 · 187 阅读 · 0 评论 -
2.Netflix Eureka(服务注册/发现)基本介绍
Spring Cloud针对服务注册与发现,进行了一层抽象,并提供了三种实现:1.Eureka(支持的最好)2.ConsulEureka是Netflix开源的服务注册发现组件,服务端通过REST协议暴露服务,提供应用服务的注册和发现的功能。所有的Eureka服务都被称为实例(instance)。Eureka服务又分为两类角色:Eureka Server(服务器,注册中心)和Eureka Client(客户端,注册、拉取服务)原创 2023-05-10 14:54:19 · 447 阅读 · 0 评论 -
1.Spring Cloud微服务基本介绍
微服务是一种架构方式、一种概念。需要技术架构去实施Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中。Spring Cloud也是一样,它将现在非常流行的一些技术整合到一起,实现了诸如:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等功能。原创 2023-05-10 14:41:18 · 106 阅读 · 0 评论