LOADING

加载过慢请开启缓存 浏览器默认开启

Spring cloud

Spring Cloud架构

Spring Cloud特性

Spring Cloud Context:ApplicationContext

  • 1.Bootstrap:对于主程序来说是一个父级上下文,它支持从外部资源中加载配置文件,和解密本地外部配置文件中的属性,Bootstrap上下午和应用上下文将共享一个环境,这是所有Spring应用程序的外部属性,一般来说,Bootstrap上下文中的属性优先级比较高,所有不能被本地配置所覆盖。
    Spring的上下文有一个特性,子级上下文将从父级中继承属性源和配置文件,如果通过SpringApplication或者SpringApplicationBuilder来构建应用程序上下文,那么Bootstrap上下文将会成为该应用程序上下文的父级上下文

Spring Cloud Config:配置管理工具

分为服务端和客户端,服务端也被称为分布式配置中心,它是独立的微服务应用,用于从配置仓库获取信息供客户端使用,而客户端则是微服务架构中的各个微服务应用或者基础设施,可以从配置中心获取配置信息,在启动时加载配置。Spring Cloud Config 的配置中心默认采用Git来存储配置信息。

Spring Cloud Bus:消息总线

当使用消息代理来构建一个主题,然后把微服务架构中的所有服务都连接到这个主题上去,当我们向该主题发送消息时,所有订阅该主题的服务都会收到消息并进行消费,使用Spring Cloud Bus可以实现配置的动态刷新。

Spring Cloud Netflix:核心组件

  • 1.Eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现,服务注册中心是一个独立的微服务应用,用来管理所有的服务节点,每个服务节点启动时,会向服务注册中心注册自己的IP地址和端口号,服务注册中心会存储该服务节点的信息,当有服务消费者需要调用服务时,服务消费者会向服务注册中心获取服务提供者的信息,服务注册中心返回服务提供者的信息给服务消费者,服务消费者再通过该信息调用服务提供者的接口。
  • 2.Hystrix:断路器,用来实现服务的容错保护功能,当某个服务发生故障时,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待,从而避免了故障在分布式系统中的蔓延,从而提高了系统的整体可用性和容错性。
  • 3.Ribbon:客户端负载均衡器,用来实现客户端的负载均衡,将客户端的请求分摊到多个服务上,从而实现系统的高可用性和性能的提升。
  • 4.Fein:服务调用组件,用来实现服务之间的调用,Fein是一个轻量级的服务调用组件,它基于Ribbon实现了客户端的负载均衡,基于Hystrix实现了容错保护功能,基于Eureka实现了服务的发现功能。
  • 5.Zuu:API网关服务,用来实现请求的路由,负载均衡,校验过滤,服务聚合等功能,Zuu是一个轻量级的API网关服务,它基于Ribbon实现了客户端的负载均衡,基于Hystrix实现了容错保护功能,基于Eureka实现了服务的发现功能。
  • 6.Archaius:配置管理组件,用来实现配置管理功能,它提供了一套完整的配置管理API,可以实现动态的配置更新功能。

微服务之间的通信方式

同步通信:dobbo通过RPC实现同步通信,Spring Cloud Fein通过RestTemplate实现同步通信。
异步通信:消息队列如ActiveMQ,RabbitMQ,Kafka等实现异步通信。

本文作者:GWB
当前时间:2023-11-09 11:11:11
版权声明:本文由gwb原创,本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议。
转载请注明出处!