微服务(项目原理和教程)

本文详细介绍了微服务的概念以及Spring Cloud的重要组件,包括Spring Cloud的基础组件Nacos,阐述了Nacos作为服务注册与配置中心的角色,详细讲解了服务注册、服务发现、Feign调用、Hystrix服务熔断与降级等核心概念,并提到了Spring Cloud Gateway服务网关的作用。同时,文章还涵盖了Nacos的安装和运行,以及在项目中服务注册的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微服务

在这里插入图片描述

概述
  1. 微服务是一种架构风格
  2. 把一个项目拆分成独立的多个服务,多个服务是独立运行,每个服务占用独立进程
Springle Cloud
  1. Spring cloud并不是一种技术,是很多技术的总称,很多技术的集合
  2. Spring cloud里面有很多框架(技术),使用Spring cloud里面这些框架实现微服务操作
  3. 使用Spring cloud需要依赖Spring boot
Spring cloud调用接口的过程

​ Feign --> Hystrix --> Ribbon --> Http Client(apache http componrntd / Okhttp) --> 具体交互流程如下图所示

在这里插入图片描述

  • Feign :转化请求Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,封装了Http调用流程。
    feign是服务发现即用 @FeignClient(name = “service-vod”)找到服务名,并根据接口中的方法地址进行调用
  • Hystrix:熔断处理机制 Feign的调用关系,会被Hystrix代理拦截,对每一个Feign调用请求,Hystrix都会将其包装成HystrixCommand,参与Hystrix的流控和熔断规则。如果请求判断需要熔断,则Hystrix直接熔断,抛出异常或者使用FallbackFactory返回熔断Fallback结果;如果通过,则将调用请求传递给Ribbon组件。
    在远程调用过程中若被调的服务挂掉了,调不到就会断掉链接,能调到就放行,对系统起到保护功能
  • Ribbon:服务地址选择 当请求传递到Ribbon之后,Ribbon会根据自身维护的服务列表,根据服务的服务质量,如平均响应时间,Load等,结合特定的规则,从列表中挑选合适的服务实例,选择好机器之后,然后将机器实例的信息请求传递给Http Client客户端,HttpClient客户端来执行真正的Http接口调用;
    负载均衡
  • HttpClient :Http客户端,真正执行Http调用根据上层Ribbon传递过来的请求,已经指定了服务地址,则HttpClient开始执行真正的Http请求
    真正的通过接口路径进行调用的过程
Spring cloud相关基础服务组件
Nacos: Spring clould Alibaba服务注册与配置中心

Nacos英文全称为:Dynamic Naming and Configuration Service:

组成部分 全称 描述
Na naming/nameServer 即服务注册中心,与 Spring Cloud Eureka 的功能类似。
co configuration 即配置中心,与 Spring Cloud Config+Spring Cloud Bus 的功能类似。
s service 即服务,表示 Nacos 实现的服务注册中心和配置中心都是以服务为核心的。

​ 我们可以将 Nacos 理解成服务注册中心和配置中心的组合体,它可以替换 Eureka 作为服务注册中心,实现服务的注册与发现;还可以替换 Spring Cloud Config 作为配置中心,实现配置的动态刷新

Nacos两大组件

与 Eureka 类似,Nacos 也采用 CS(Client/Server,客户端/服务器)架构,它包含两大组件,如下表

组件 描述 功能
Nacos Server Nacos 服务端,与 Eureka Server 不同,Nacos Server 由阿里巴巴团队使用 Java 语言编写并将 Nacos Server 的下载地址给用户,用户只需要直接下载并运行即可。 1. Nacos Server 可以作为服务注册中心,帮助 Nacos Client 实现服务的注册与发现。
2.Nacos Server 可以作为配置中心,帮助 Nacos Client 在不重启的情况下,实现配置的动态刷新。
Nacos Client Nacos 客户端,通常指的是微服务架构中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值