对微服务的了解

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

以电商系统为例:

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

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

作用:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
xcl09254 小时前
北京24小时自助健身房系统软件开发实战:从架构到部署全流程指南
java·spring boot·架构
萧瑟余晖7 小时前
Dubbo SPI扩展机制详解
架构·dubbo
Shulex7 小时前
面向跨境电商多渠道消息系统的技术架构:亚马逊站内信合规对接与自动化执行链路设计
运维·架构·自动化
吴建旭 智宅焕9 小时前
AI搜索时代的智能家居交付知识架构:官网作为可信一手信息源与全国交付基础设施
人工智能·架构·智能家居
孟健9 小时前
出海开发者资金合规:从港卡结汇到完税申报实操
后端·架构
梦帮科技9 小时前
领域认知知识库图谱注入:从双式记账图网络到高质量问答对自动化合成流水线
运维·网络·数据库·人工智能·矩阵·架构·自动化
逐流人10 小时前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
海宇服务10 小时前
零信任架构实战:基于海宇车型识别精准构建自动化定损网关
运维·人工智能·架构·自动化
悟天特斯10 小时前
边缘计算赋能楼宇智能化:云边协同的实时闭环与自治架构
人工智能·架构·边缘计算
爱学习的程序媛12 小时前
2. 智能应用开发技术栈清单
ai·架构·系统架构·ai应用·智能体开发·智能应用开发