Java-2023微服务相关面试题

好了话不多说,直接上干货

1.相关概念

1.什么是集群?

计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多

集群:同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事)

2.什么是负载均衡?

负载均衡(Load Balancing)是指将网络流量分散到多个服务器上进行处理,以提高系统的可用性、容错性和抗压能力的一种技术。

在高并发的Web应用中,单台服务器往往无法承受高负载的请求,容易出现火灾、宕机等情况,因此使用负载均衡可以将请求发送到不同的服务器上,使得每台服务器被分担一部分负载,增加了系统的吞吐量和容错能力。

常见的负载均衡算法有轮询法、随机法、加权轮询法、加权随机法等。轮询法是指按照顺序依次分配请求到不同服务器,随机法是指随机分配请求到不同的服务器,加权轮询法是指按照服务器的权重来分配请求,加权随机法是指随机分配请求到不同的服务器,但是每台服务器的请求处理量与其权重成正比。

负载均衡有硬件负载均衡和软件负载均衡两种实现方式。以软件负载均衡来说,常见的有Nginx、HAProxy、LVS、Keepalived等开源软件。而在应用开发中,也可以使用Spring Cloud Gateway或Spring Cloud LoadBalancer等框架来实现负载均衡的功能。

3.什么是分布式?

布式:一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的

4.集群和分布式的区别,分别解决什么问题?

分布式:一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的),集群是不同服务器运行相同的代码

分布式的好处:

  • 资源利用率更合理
  • 代码耦合度降低,模块之间独立,便于扩展和复用
  • 高吞吐量,某个任务在一台机器上可能要10小时,用10台机器分布式运行可能只需要2小时

集群的优点

  • 通过多台计算机完成同样的任务,达到更高的效率——就比如我一台Redis最多允许同时处理100个请求,要同时处理200个请求,加多一台Redis实例即可
  • 两台或多台机器的内容和工作过程完全一样,如果有一台死机,那么另一台可以接替它的工作

5.说一下你理解的微服务?

将一个单体项目细粒划分为多个服务,微服务可以用多个数据库和语言

微服务(Microservices)是一种架构风格,它将单个应用程序划分为一组小的服务,每个服务运行在其独立的进程中,并使用轻量级通信机制(如 HTTP API )相互通信。每个微服务都应具有清晰的业务功能,可以独立地部署、升级和扩展。

微服务架构的优点在于:

1. 高可扩展性:单个服务实例可以水平扩展,实现整个体系的快速、简单且可靠的扩展。

2. 高可维护性:所有服务都被隔离在独立的运行环境里,所以更容易理解和维护。

3. 独立部署:每个微服务都可以独立部署,可以对其单独进行调整,不需要整个应用程序的重新部署。

4. 技术多样性:由于微服务架构强调松散耦合,因此可以使用多种技术来实现各自的服务,提高了系统的弹性和可靠性。

5. 更好的可扩展性:微服务架构使得团队可以以更小的单位快速进行开发、验证和发布。

6. 更好的适应性:微服务架构可以更好的适应不同的开发团队和组织分割,适用于分布式开发和管理的环境。

微服务的缺点包括:

1. 分布式系统开发的额外复杂性:在一个微服务架构中&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 微服务面试题可以包括多个方面的问题。其中一些常见的问题包括测试微服务时面临的挑战,过渡到微服务时的常见错误,以及为什么在微服务中需要报告和仪表板。在测试微服务时,测试人员需要全面了解所有入站和出站过程,并且在独立的团队开发不同功能时,协作可能会变得困难。此外,随着微服务数量的增加,系统的复杂性也会增加,测试人员需要确保组件之间的内部通信没有中断。\[1\]过渡到微服务时的常见错误包括没有充分了解微服务架构的优点,以及在部署和管理微服务时遇到的挑战。\[2\]微服务的优点包括可以轻松适应其他框架或技术,单个进程的失败不会影响整个系统,为大企业和小型团队提供支持,以及可以在相对较短的时间内独立部署。\[2\]康威定律与微服务的关系是另一个可能被问到的问题。康威定律指出,组织的通信结构会影响到设计的系统的结构。微服务架构中的松散耦合的API正是康威定律的体现,它使得组织在重组工作流程时更加灵活。\[3\]此外,面试中还可能会问到如何配置Spring Boot应用程序的日志记录。配置Spring Boot应用程序的日志记录可以通过在application.properties或application.yml文件中设置相关属性来实现。\[3\] #### 引用[.reference_title] - *1* *2* *3* [29个你必须掌握的微服务面试问题(含答案解析)](https://blog.csdn.net/chiquanzhe9768/article/details/100934283)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值