
Spring Cloud
spring cloud相关技术
吃透Java
专注Java技术,每天都要努力一点点
展开
-
Spring Cloud 2020.0.0发布 再见了Netflix
Spring Cloud 2020.0.0发布北京时间2020-12-22深夜,Spring Cloud 2020.0.0版本正式发布。2020.0.0是第一个使用新版本方案的Spring Cloud发行版本。我们知道之前Spring Cloud版本命名都是使用伦敦地铁名来命名。Spring Cloud 与 Spring Boot版本对应关系Release Train发布时间Spring Boot版本SC Commons版本2020.0.x2020-122.4.x3.0原创 2020-12-24 10:44:02 · 5237 阅读 · 0 评论 -
Spring Cloud 十二:Eureka生产环境优化
文章目录一,自我保护优化自我保护常用配置自我保护场景优化二,三级缓存优化什么是三级缓存三级缓存工作流程三级缓存的优点生产环境中优化三,定时器Timer优化Timer缺陷:建议使用ScheduledExecutorService一,自我保护优化自我保护常用配置eureka: server: # 自我保护开关,默认开启 enable-self-preservation: true # 自我保护阈值,默认0.85 renewal-percent-threshold: 0.原创 2020-12-18 18:20:25 · 1302 阅读 · 2 评论 -
Spring Cloud 十一:Eureka自我保护源码分析
Eureka自我保护默认情况下,当EurekaServer在一定时间内(默认90秒)没有接收到某个客户端实例的心跳,EurekaServer将会注销该实例。但是当网络分区故障发生时,客户端与EurekaServer之间无法正常通信,此时不应该注销客户端。Eureka通过“自我保护机制”来解决这个问题:当EurekaServer短时间内丢失过多客户端时,这个节点就会进入自我保护模式。在自我保护模式下,EurekaServer不会剔除任何客户端。当网络故障恢复后,该节点会自动退出自我保护模式自我保护机制的原创 2020-12-18 15:45:30 · 356 阅读 · 4 评论 -
Spring Cloud 十:配置中心介绍与使用
一,配置中心为什么需要配置中心单体应用,配置写在配置文件中,没有什么大问题。如果要切换环境 可以切换不同的profile(2种方式),但在微服务中,微服务比较多。成百上千,配置很多,需要集中管理,需要管理不同环境的配置,需要动态调整配置参数,更改配置不停服。配置中心介绍分布式配置中心包括3个部分:存放配置的地方:git,svn ,数据库,本地文件 等。config server,从 1 读取配置。config client。是 config server 的客户端 消费配置。注意:配置原创 2020-12-17 15:46:11 · 872 阅读 · 0 评论 -
Spring Cloud 九:Zuul网关介绍与使用
一,网关前面我们把服务治理,服务注册发现,服务调用,熔断,已经分析完了,微服务基本模块已经有了,也可以做微服务了。但完成一个复杂的业务,可能需要多个微服务合作来完成,比如下单,需要用户服务,支付服务,地图服务,订单服务。网关一般是我们对外服务的窗口,进行服务内外隔离。一般微服务都在内网,不做安全验证。网关是介于客户端(外部调用方比如app,h5)和微服务的中间层。什么是Zuul?Zuul作为微服务系统的网关组件,是从设备和网站到Netflix流应用程序后端的所有请求的前门。zuul作为整个应用的流量入原创 2020-12-15 11:56:41 · 6160 阅读 · 1 评论 -
Spring Cloud 八:Hystrix熔断降级介绍与使用
一,概念1,雪崩效应 每个服务 发出一个HTTP请求都会 在 服务中 开启一个新线程。而下游服务挂了或者网络不可达,通常线程会阻塞住,直到Timeout。如果并发量多一点,这些阻塞的线程就会占用大量的资源,很有可能把自己本身这个微服务所在的机器资源耗尽,导致自己也挂掉。 如果服务提供者响应非常缓慢,那么服务消费者调用此提供者就会一直等待,直到提供者响应或超时。在高并发场景下,此种情况,如果不做任何处理,就会导致服务消费者的资源耗竭甚至整个系统的崩溃。一层一层的崩溃,导致所有的系统崩溃。雪崩:由基原创 2020-12-10 20:13:01 · 764 阅读 · 0 评论 -
Spring Cloud 七:Feign声明式服务调用介绍与使用
一,理解Feign1,什么是FeignNetflix FeignFeign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。Feign实际上是对普通HTTP客户端的一层封装,其目的是降低集成成本、提升可靠性。Feign支持三种HTTP客户端,包括JDK自带的HttpURLConnection、Apache HttpClient和Square OkHttp,默认使用Apache HttpClient。Spring Cloud Feign原创 2020-12-08 20:27:11 · 742 阅读 · 2 评论 -
Spring Cloud 六:Ribbon负载均衡介绍与使用
一,负载均衡当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群),多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况。通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整个系统的处理能力。负载均衡可以分为硬件负载均衡和软件负载均衡:硬件负载均衡:直接在服务器和外部网络间安装负载均衡硬件设备,这种设备我们通常称之为负载均衡器。由专门的设备完成,独立于操作系统,整体性能得到大量提高,加上更多的负载均衡策略,智能原创 2020-12-01 17:28:14 · 1182 阅读 · 2 评论 -
Spring Cloud 五:Eureka自我保护,健康检查,事件监听使用
一,Eureka元数据1,从EurekaServer获取启动EurekaServier,启动EurekaClient注册到EurekaServer访问http://euk-server1:7001/eureka/apps/EurekaClient 获取到EurekaClient实例信息:<application><name>EUREKACLIENT</name><instance><instanceId>192.168.1.39:Eu原创 2020-11-20 21:05:54 · 988 阅读 · 0 评论 -
Spring Cloud 四:Eureka Client源码详细分析
一,Eureka Client概述1,Eureka Client工作流程图2,@EnableDiscoveryClient注解@SpringBootApplication@EnableDiscoveryClientpublic class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.clas原创 2020-11-13 17:57:40 · 555 阅读 · 0 评论 -
Spring Cloud 三:Eureka Server源码详细分析
一,开启Eureka Server我们要开启Eureka Server首先需要在启动类上面加@EnableEurekaServer注解@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(EurekaServerMarkerConfiguration.class)public @interface EnableEurekaServer {}可以看到@EnableEurekaServer原创 2020-11-11 16:15:56 · 667 阅读 · 0 评论 -
Spring Cloud 二:Eureka核心元素分析
一,服务治理的核心元素我们知道Eureka服务治理包含了服务注册中心、服务提供者和服务消费者三个核心元素,三者的基本关系是:服务注册中心提供服务注册和服务发现平台,服务提供者将服务注册到服务注册中心,服务消费者从服务注册中心获取服务实例列表并调用。下图展示了三者之间的关系:二,服务提供者1,服务注册服务提供者启动的时候,会通过发送REST请求方式将自己注册到指定的服务注册中心,注册地址是根据配置文件中配置的eureka.client.service-url.defaultZone来指定的,在请求过原创 2020-11-10 10:12:00 · 247 阅读 · 0 评论 -
Spring Cloud一:eureka服务注册中心集群搭建
Spring的强大之处不仅仅在于它为Java开发者提供了极大便利,更在于它的开放式架构,使得用户可以拥有最大扩展Spring的能力。内容暂定。。。。原创 2020-10-24 19:06:39 · 374 阅读 · 0 评论