我进了新公司结果不会用Spring Cloud,人生第一次被辞退了

网站建设3年前发布
41 0 0

20230306131343d405b4a31b4d75df50b109a0443cb613315053212,Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服务注册与服务发现,都是依赖Eureka的。 不少初学Spring Cloud的朋友在落地公司生产环境部署时,经常会问:,如果你也有这些疑问,别着急!咱们这就一起去看看,Eureka作为微服务注册中心的核心原理,下面这些问题,大家先看看,有个大概印象。带着这些问题,来看后面的内容,效果更佳。,先给大家说一个基本的知识点,各个服务内的Eureka Client组件,默认情况下,每隔30秒会发送一个请求到Eureka Server,来拉取最近有变化的服务信息,除此之外,Eureka还有一个心跳机制,各个Eureka Client每隔30秒会发送一次心跳到Eureka Server,通知人家说,哥们,我这个服务实例还活着!,如果某个Eureka Client很长时间没有发送心跳给Eureka Server,那么就说明这个服务实例已经挂了。,光看上面的文字,大家可能没什么印象。老规矩!咱们还是来一张图,一起来直观的感受一下这个过程。,20230306131342e61a833051f59170f26680c1880e1732fa337a817,现在咱们假设手头有一套大型的分布式系统,一共100个服务,每个服务部署在20台机器上,机器是4核8G的标准配置。,也就是说,相当于你一共部署了100 * 20 = 2000个服务实例,有2000台机器。,每台机器上的服务实例内部都有一个Eureka Client组件,它会每隔30秒请求一次Eureka Server,拉取变化的注册表。,此外,每个服务实例上的Eureka Client都会每隔30秒发送一次心跳请求给Eureka Server。,那么大家算算,Eureka Server作为一个微服务注册中心,每秒钟要被请求多少次?一天要被请求多少次?,好!经过这么一个测算,大家是否发现这里的奥秘了?,按照我们的测算,一个上百个服务,几千台机器的系统,按照这样的频率请求Eureka Server,日请求量在千万级,每秒的访问量在150次左右。,即使算上其他一些额外操作,我们姑且就算每秒钟请求Eureka Server在200次~300次吧。,所以通过设置一个适当的拉取注册表以及发送心跳的频率,可以保证大规模系统里对Eureka Server的请求压力不会太大。,关键问题来了,Eureka Server是如何保证轻松抗住这每秒数百次请求,每天千万级请求的呢?,要搞清楚这个,首先得清楚Eureka Server到底是用什么来存储注册表的?三个字,看源码。,接下来咱们就一起进入Eureka源码里一探究竟:,2023030613134209f13dd78b69ae3a06a6181662fa9a848b8064702,一句话概括:维护注册表、拉取注册表、更新心跳时间,全部发生在内存里!这是Eureka Server非常核心的一个点。,搞清楚了这个,咱们再来分析一下registry这个东西的数据结构,大家千万别被它复杂的外表唬住了,沉下心来,一层层的分析!,再来看看作为value的这个Map:,假设Eureka Server部署在4核8G的普通机器上,那么基于内存来承载各个服务的请求,每秒钟最多可以处理多少请求呢?,为方便大家更好的理解,同样来一张图,大家跟着图再来回顾一下这整个过程:,20230306131502c13974660e4df377171151adfa2405797d1199108,上述就是Spring Cloud架构中,Eureka作为微服务注册中心可以承载大规模系统每天千万级访问量的原理。

© 版权声明

相关文章