赞
踩
很多人都说现在是云原生、大模型的时代,微服务已经过时了,但现实的是,很多人开发多年,都没有在实际的开发中用过微服务,更别提搭建微服务框架和技术选型了。
面试的时候都会问,怎么办?
今天分享一张微服务的丐版架构图,让你可以和面试官掰扯掰扯~
脑中有图,口若悬河,一套组合拳下来,面试官只能拍案叫好,大呼快哉,HR更是惊呼,我勒个乖乖,完全听不懂。
话不多说,直接上图。
由此可见,Spring Cloud微服务架构是由多个组件一起组成的,各个组件的交互流程如下。
一、域名系统DNS
在微服务中,域名系统DNS的作用主要是进行服务发现和负载均衡。
二、LVS(Linux Virtual Server),Linux虚拟服务器
LVS是一个开源的负载均衡软件,基于Linux操作系统实现。它在Linux内核中实现负载均衡的功能,通过运行在用户空间的用户进程实现负载均衡的策略。
CDN的作用是将这些静态资源分发到多个地理位置的机房的服务器上。让用户就近选择访问,提高访问速度,解决跨地域请求速度慢的问题。
四、Nginx反向代理服务器
1、Nginx的主要作用体现在以下几个方面:
反向代理,Nginx可以作为反向代理服务器,接收来自客户端的请求,然后将请求转发到后端的微服务实例。
负载均衡,Nginx可以根据配置,将请求分发到微服务不同的实例上,实现负载均衡。
服务路由,Nginx可以根据不同的路径规则,将请求路由到不同的微服务上。
静态资源服务,Nginx可以提供静态资源服务,如图片、视频、JavaScript文件、CSS文件、HTML静态文件等,减轻后端服务的压力,提高系统的响应速度和性能。
2、Nginx静态资源服务和CDN静态资源服务,如何选择?
在选择Nginx静态资源服务和CDN静态资源服务时,可以根据以下几个因素进行权衡和选择:
选择Nginx静态资源服务还是CDN静态资源服务取决于具体的需求和场景。如果追求更好的性能和全球覆盖,可以选择CDN静态资源服务;如果更需要控制和自定义能力,且对性能要求不是特别高,可以选择Nginx静态资源服务。
五、Gateway网关
在微服务架构中,Gateway的作用如下:
六、注册中心Nacos
在微服务架构中,Nacos的作用主要体现在注册中心、配置中心、服务健康检查等方面。
七、Redis缓存
1、在微服务架构中,Redis的作用主要体现在以下几个方面:
2、竞态条件
竞态条件是指在同一个程序的多线程访问同一个资源的情况下,如果对资源的访问顺序敏感,就存在竞态条件。竞态条件可能会导致执行结果出现各种问题,例如计算机死机、出现非法操作提示并结束程序、错误的读取旧的数据或错误的写入新数据。在串行的内存和存储访问能防止这种情况,当读写命令同时发生的时候,默认是先执行读操作的。
竞态条件也可能在网络中出现,当两个用户同时试图访问同一个可用信道的时候就会发生,系统同意访问之前没有计算机能得到信道被占用的提示。统计上说这种情况通常是发生在有相当长的延迟时间的网络里,比如使用地球同步卫星。
为了防止这种竞态条件发生,需要制定优先级列表,比如用户的用户名在字母表里排列靠前可以得到相对较高的优先级。黑客可以利用竞态条件这一弱点来赢得非法访问网络的权利。
竞态条件是由于多个线程或多个进程同时访问共享资源而引发的问题,它可能会导致不可预测的结果和不一致的状态。解决竞态条件的方法包括使用锁、同步机制、优先级列表等。
3、Redis会话管理如何实现?
Redis会话管理的一般实现步骤:
八、Elasticsearch全文搜索引擎
在微服务架构中,Elasticsearch全文搜索引擎的应用主要体现在如下几个方面:
九、感觉Redis和Elasticsearch很像?微服务中Redis和Elasticsearch的区别
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。