微服务架构面试

简介: 本文介绍了微服务与单体架构的适用场景,微服务常用中间件如Nacos、OpenFeign、GateWay,Nacos的心跳机制及其与Eureka的异同,以及常见负载均衡算法。适合对微服务架构及其实现有初步了解的开发者。

微服务的好处?一定比单体好吗?

面试官这个不一定,技术还是为业务服务的,简单的业务单体肯定更好,他没有分布式事务、服务雪崩等一系列服务治理的问题,并且部署、维护成本低。微服务更适合一些表模型复杂、业务链路长的场景,这样虽然会带来一些服务治理问题,但是也降低了服务之间的耦合,有利于后续的服务拓展。

微服务你用到了哪些中间件

我的项目用到了Nacos,当做注册和配置中心;远程服务调用OpenFeign;网关GateWay

image

Nacos注册中心的心跳机制

Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式临时实例心跳不正常会被剔除,非临时实例则不会被剔除

image

Nacos与eureka的共同点

  1. 都支持服务注册和服务拉取
  2. 都支持服务提供者心跳方式做健康检测

Nacos与Eureka的区别

  1. Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
  2. 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
  3. Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
  4. Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

常见的负载均衡算法

有轮询、加权轮询、权重、响应时间、随机、区域可用等吧,我们项目中一般都是轮询,它的意思就是当有多台机器的时候,就一个一个轮着来。

相关文章
|
4天前
|
存储 测试技术 开发者
NVFP4量化技术深度解析:4位精度下实现2.3倍推理加速
本文深入解析NVIDIA推出的NVFP4量化技术,探讨其在Blackwell GPU架构下的性能优势。通过对比主流4位量化方法,分析NVFP4在精度、内存和推理吞吐量方面的表现,结合LLM-Compressor与vLLM框架展示量化与部署实践,验证其在消费级与企业级应用中的高效性与实用性。
57 15
NVFP4量化技术深度解析:4位精度下实现2.3倍推理加速
|
1天前
|
Oracle Java Linux
JDK
JDK
19 0
|
6月前
|
前端开发 Java 测试技术
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestParam
本文介绍了 `@RequestParam` 注解的使用方法及其与 `@PathVariable` 的区别。`@RequestParam` 用于从请求中获取参数值(如 GET 请求的 URL 参数或 POST 请求的表单数据),而 `@PathVariable` 用于从 URL 模板中提取参数。文章通过示例代码详细说明了 `@RequestParam` 的常用属性,如 `required` 和 `defaultValue`,并展示了如何用实体类封装大量表单参数以简化处理流程。最后,结合 Postman 测试工具验证了接口的功能。
281 0
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestParam
|
29天前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
107 7
|
26天前
|
消息中间件 SQL 关系型数据库
什么是实时数据同步?纯干货解读!
在数据处理中,数据同步问题常常导致报表不准、决策滞后。本文深入解析实时数据同步的重要性与实现方法,帮助你解决80%的同步难题,提升数据效率与业务响应速度。
什么是实时数据同步?纯干货解读!
|
2月前
|
SQL 缓存 Java
Mybatis及MybatisPlus
MyBatis 是一款优秀的持久层框架,支持自定义 SQL、存储过程及高级映射。其系统架构通过 mybatis-config.xml 配置全局信息,结合 mapper.xml 映射 SQL 语句,构建 SqlSessionFactory 并创建 SqlSession 操作数据库。MyBatis 底层通过 Executor 执行器和 Mapped Statement 对象实现 SQL 的输入输出映射与执行。支持复杂结果集映射,
|
25天前
|
SQL 关系型数据库 分布式数据库
一条SQL管理向量全生命周期,让AI应用开发更简单
本文探讨了AI应用开发中向量数据管理的挑战,介绍了PolarDB IMCI通过在数据库内核中集成向量索引与Embedding能力,实现向量全生命周期管理的创新方案。该方案有效解决了技术栈分裂、数据孤岛和运维复杂等痛点,提供了一体化、高性能、支持事务与实时检索的向量数据库服务,极大降低了AI应用的开发与维护门槛。
131 26
一条SQL管理向量全生命周期,让AI应用开发更简单