一个小伙伴私信我,他说遇到了一个关于CAS机制的问题,他以为面试官问的是CAS实现单点登录。心想,这个问题我熟啊,然后就按照单点登录的思路去回答,结果面试官一直摇头。他来和我...
一个小伙伴私信我,他说遇到了一个关于CAS机制的问题,他以为面试官问的是CAS实现单点登录。心想,这个问题我熟啊,然后就按照单点登录的思路去回答,结果面试官一直摇头。他来和我...
AQS是AbstractQueuedSynchronizer的简称,是并发编程中比较核心的组件。在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂...
当系统并发流量过大的时候,有可能会造成系统被压垮导致整个服务不可用的问题。 针对这个场景,一般的解决方案是:如果超过这个流量,我们就拒绝提供服务,从而使得我们的服务不会挂掉。...
Nacos作为配置中心,必然需要保证服务节点的高可用性,那么Nacos是如何实现集群的呢? 下面这个图,表示Nacos集群的部署图。 Nacos集群工作原理 Nacos作为配...
Nacos 作为配置中心,当应用程序去访问Nacos动态获取配置源之后,会缓存到本地内存以及磁盘中。由于Nacos作为动态配置中心,意味着后续配置变更之后需要让所有相关的客户...
理解了上述Environment的基本原理后,如何从远程服务器上加载配置到Spring的Environment中。 NacosPropertySourceLocator 顺着...
Spring Cloud针对Environment的属性源功能做了增强, 在spring-cloud-contenxt这个包中,提供了PropertySourceLocato...
Environment的中文意思是环境,它表示整个spring应用运行时的环境信息,它包含两个关键因素 profiles properties profiles profil...
OpenFeign是一个远程客户端请求代理,它的基本作用是让开发者能够以面向接口的方式来实现远程调用,从而屏蔽底层通信的复杂性,它的具体原理如下图所示。 在今天的内容中,我们...
在传统的单体软件架构中,软件开发、测试、运维都是以单个进程为单位。 当拆分成微服务之后,单个应用可以被拆分成多个微服务,比如用户系统,可以拆分成基本信息管理、积分管理、订单管...
Eureka-Server是如何判断一个服务不可用的? Eureka是通过心跳续约的方式来检查各个服务提供者的健康状态。 实际上,在判断服务不可用这个部分,会分为两块逻辑。 ...
Eureka Server 为了提供响应效率,提供了两层的缓存结构,将 Eureka Client 所需要的注册信息,直接存储在缓存结构中,实现原理如下图所示。 第一层缓存:...
Spring Cloud是一个生态,它提供了一套标准,这套标准可以通过不同的组件来实现,其中就包含服务注册/发现、熔断、负载均衡等,在spring-cloud-common这...
Ribbon的核心作用就是进行请求的负载均衡,它的基本原理如下图所示。就是客户端集成Ribbon这个组件,Ribbon中会针对已经配置的服务提供者地址列表进行负载均衡的计算,...
Dubbo的出现背景 Dubbo从开源到现在,已经出现了接近10年时间,在国内各大企业被广泛应用。 它到底有什么魔力值得大家去追捧呢?本篇文章给大家做一个详细的说明。 大规模...
在前面的分析中,Spring Framework一直在致力于解决一个问题,就是如何让bean的管理变得更简单,如何让开发者尽可能的少关注一些基础化的bean的配置,从而实现自...
本篇文章,从Spring1.x到Spring 5.x的迭代中,站在现在的角度去思考Spring注解驱动的发展过程,这将有助于我们更好的理解Spring中的注解设计。 Spri...
要了解Spring Boot的发展背景,还得从2004年Spring Framework1.0版本发布开始说起,不过大家都是从开始学习Java就使用Spring Framew...
阅读这篇文章之前,建议先阅读和这篇文章关联的内容。 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解)[https://mp.weixin.qq.com/s?__...