
Spring Cloud
文章平均质量分 90
WYFVV
这个作者很懒,什么都没留下…
展开
-
Spring Cloud——配置中心(Apollo)
一.概述1.1 什么是配置应用程序在启动和运行的时候需要读取一些配置信息,配置信息基本上伴随着应用程序的整个生命周期,例如:数据库连接参数,启动参数等。有以下几个特点:配置是独立于程序的只读变量配置伴随应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为配置可以有多种加载方式,常见的有程序内部硬编码,配置文件,环境变量等配置需要治理,配置的修改需要有完善的权限控制,不同环境和集群配置管理1.2 什么是配置中心配置中心将配置从应用中剥离出来,统一管理,原创 2021-04-22 14:56:17 · 1552 阅读 · 1 评论 -
Spring Cloud——Gateway源码分析
1.入口:初始自动配置类查看gateway core包的Spring.factoires# Auto Configureorg.springframework.boot.autoconfigure.EnableAutoConfiguration=\#用来验证项目中是否存在DispatcherServlet(SpringMvc使用,webFlux中不能存在) 是否不存在DispatcherHandler(WebFlux使用)org.springframework.cloud.gateway.c原创 2021-04-18 17:16:10 · 685 阅读 · 0 评论 -
Spring Cloud——Gateway
一.概述1.1 简介Spring Cloud Gateway是Spring Cloud的一个全新项目,该项目是基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在微服务架构提供一种简单有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系统的网关,目标是替代Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuul 2.0以上最高性能版本进行集成,仍然还是会使用Zu原创 2021-04-18 16:17:59 · 687 阅读 · 2 评论 -
Spring Cloud——Hystrix源码分析(工作流程)
@EnableHystrix@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@EnableCircuitBreakerpublic @interface EnableHystrix {}@EnbaleHystrix引入了@EableCircuitBreaker。继续查看源码@Target(ElementType.TYPE)@Retention(Retentio原创 2021-04-17 15:50:15 · 647 阅读 · 0 评论 -
SpringCloud——Hystrix
一.简介1.1 什么是HystrixHystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。"断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用原创 2021-04-16 18:48:23 · 259 阅读 · 0 评论 -
Spring Cloud——OpenFeign
一.简介Java项目中接口调用:HttpClient: Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。 Okhttp:一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由 Square 公司贡献,用于替代 HttpUrlConnection 和 Apache HttpClient。OkHttp 拥有简洁的 API、高效的性能,并支持多种协议(HTTP/2 和 SPDY)。原创 2021-04-16 14:42:08 · 421 阅读 · 0 评论 -
Spring Cloud——Ribbon以及源码分析
一.RestTemplate简介RestTemplate是Spring Resources中一个访问第三方RestFul API接口的网络请求框架。RestTemplate的设计原则和其他的Srping Template类似。都是为执行复杂任务提供一个具有默认行为的简单方法。RestTemplate是用来消费Rest服务的,所以RestTemplate的主要方法都与Rest的Http协议的一些方法紧密相连。例如HEAD,GET,POST,DELETE等方法。这些方法在RestTemplate类对应的原创 2021-04-14 17:43:31 · 246 阅读 · 0 评论 -
SpringCloud——Eureka源码分析
1.Eureka Client如何实现服务注册?基于Spring Cloud的eureka的client端在启动类上加上@EnableDiscovertClient注解,就可以用NetFilx提供Eureka Client。下面以@EnableDiscoveryClient为入口,进行源码分析。@EnableDiscoveryClient,通过源码发现这是一个标记注解/** * Annotation to enable a DiscoveryClient implementation. *原创 2021-04-11 19:22:57 · 690 阅读 · 0 评论 -
Spring Cloud——Eureka
一.简介1.1 什么是服务的注册与发现?服务注册是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息(如服务名,IP地址等)告知服务注册中心。服务发现是指当服务消费者需要消费另外一个服务时,服务注册中心能够告知服务消费者它需要消费服务的实例信息(如服务名,IP地址等)。通常情况下,一个服务既是服务提供者,也是服务消费者。服务消费者一般使用HTTP协议或者消费组件这种轻量级的通信机制来进行服务消费。服务注册中心会提供服务的健康检查方案,检查被注册的服务是否可用。通常一个服务实例注册后,会原创 2021-04-10 17:13:43 · 532 阅读 · 1 评论 -
Spring Cloud——微服务以及Spring Cloud简介
一.微服务1.1 什么是微服务?微服务是一种架构风格 一个应用拆分为一组小型服务 每个服务运行在自己的进程内,也就是可独立部署和升级 服务之间使用轻量级HTTP交互(也可以通过轻量级的消息总线来通信,例如RabbitMQ和kafaka) 服务围绕业务功能拆分(数据库也是独立的) 可以由全自动部署机制独立部署 去中心化,服务自治。服务可以使用不同的语言,不同的存储技术 微服务是一个分布式系统1.2 微服务的优势按照业务拆分,服务的边界明确,将复杂的问题简单化。编码也是按照业务拆分,原创 2021-04-09 18:43:54 · 202 阅读 · 0 评论