对微服务的了解

微服务是一种架构风格,我们可以把应用程序划分为一组小型的、松散耦合的服务,
每个服务都运行在自己的进程中,并通过轻量级的通信机制进行通信,
每个服务都是独立部署、独立扩展、独立更新的,从而提高了应用程序的可伸缩性、可维护性和可测试性;
微服务架构本身就是一种分布式架构,它强调的是对部署在各个计算机上的应用服务的粒度;
它的核心思想是,针对拆分的服务节点做更进一步的解耦;拆分的好处是使得程序的扩展性更强,开发迭代效率更高;
微服务中服务调用流程:包括服务注册、发现、负载均衡、请求调用、容错处理、响应返回等步骤,依赖注册中心、网关、容错组件等。
好处:实现模块化、独立部署、技术异构、高可用、分布式协作,提升系统灵活性和可维护性。

以电商系统为例:

  • 用户下单时,订单服务通过 OpenFeign 调用库存服务检查库存。
  • 订单服务从 Nacos 获取库存服务的实例列表,使用 Ribbon 选择一个实例。
  • 请求通过 HTTP 发送到库存服务,库存服务扣减库存并返回结果。
  • 若库存服务超时,Hystrix 触发降级,返回默认提示"库存不足"。

服务熔断是一种保护机制,当某个微服务调用频繁失败或响应过慢时,触发熔断器打开,暂时阻止对该服务的后续请求,直接返回预设的错误响应 ;

作用:

防止故障扩散:避免因某个服务故障导致调用链上的其他服务也受到影响(雪崩效应)。

快速失败:当服务不可用时,直接返回默认响应,减少客户端等待时间。

自我恢复:熔断器会定期尝试少量请求(半开状态),若服务恢复则关闭熔断器,恢复正常调用。工作原理: 熔断器通常有三种状态:

关闭:正常状态,所有请求都尝试调用目标服务。

打开:如失败率过高,熔断器打开,拒绝所有请求,返回默认响应。

半开:经过一段时间,允许少量请求尝试调用,若成功则关闭熔断器,否则重新打开。

场景:调用支付服务时,连续多次超时,触发熔断器打开,后续请求直接返回"服务不可用"提示,防止进一步调用导致系统过载。

服务降级是指当系统资源紧张或服务不可用时,主动降低服务质量或功能,优先保证核心功能的正常运行,牺牲非核心功能以维持系统整体稳定性;

作用:保障核心功能,提升用户体验:通过返回简化数据或默认响应,避免用户看到错误页面;

系统稳定性:通过减少资源消耗,防止系统崩溃;

场景:在电商促销期间,商品详情页的推荐服务因流量过高不可用,系统降级为不显示推荐商品,仅展示商品基本信息。

nacos:提供分布式配置管理、服务注册与发现,适合动态配置和多环境管理。openFeign+Ribbon:简化服务调用并提供客户端负载均衡,适合微服务间通信。

网关:作为统一入口,通过断言匹配路由规则,通过过滤器处理请求。

Sentinel:阿里巴巴开源的流量控制和容错框架,用于微服务架构中的流量治理、熔断降级和系统保护。

核心功能:流量控制、熔断降级、热点限流、系统保护,支持动态规则配置和实时监控。

微服务中的作用:防止服务雪崩、应对流量高峰、提升系统稳定性,简化容错开发。

优势:轻量、灵活、易集成,适合复杂分布式系统。

相关推荐
百度Geek说1 小时前
百度流式计算开发平台的降本增效之路
运维·云原生
TangGeeA1 小时前
从“工具”到“灵魂”:深度解构 Claude Code 的 Agent、Skills 与 MCP 架构哲学
架构·ai编程
y***n6141 小时前
springboot项目架构
spring boot·后端·架构
qq_318121591 小时前
互联网大厂Java面试故事:支付与金融服务微服务架构、消息队列与AI风控全流程解析
java·spring boot·redis·微服务·kafka·支付系统·金融服务
Lim小刘2 小时前
Amazon Bedrock AgentCore + Strands SDK:企业级代理架构实战指南
架构·amazon
好想来前端3 小时前
私有化部署 LLM 时,别再用 Nginx 硬扛流式请求了 —— 推荐一个专为 vLLM/TGI 设计的高性能网关
后端·架构·github
ICT董老师4 小时前
kubernetes中operator与helm有什么区别?部署mysql集群是选择operator部署还是helm chart部署?
linux·运维·mysql·云原生·容器·kubernetes
乾元4 小时前
构建你的个人「网络 AI 实验室」——硬件、模拟器与数据集清单
运维·网络·人工智能·网络协议·架构
王旭晨4 小时前
【高并发架构】从 0 到亿,从单机部署到 K8s 编排:高并发架构的 8 级演进之路
容器·架构·kubernetes
小二·4 小时前
Python Web 开发进阶实战:微前端架构初探 —— 基于 Webpack Module Federation 的 Vue 微应用体系
前端·python·架构