【退役之重学Java】关于Spring Cloud 微服务和分布式

一、微服务是什么

  1. 微化拆分: 拒绝大型单体应用,基于业务边界进行服务微化拆分;
  2. 独立部署: 通过完全自动化部署机制来独立部署
  3. 独立运行: 各个服务独立运行在自己的进程中;
  4. 轻量级通信: 微服务之间使用轻量级通信机制,通常是 Http API。

二、分布式是什么

  1. 分布式系统: 若干独立计算机的集合,对用户像单个相关系统;
  2. 分布式: 将不同的业务分布在不同的地方;
  3. 集群: 几台服务器集中在一起,每台服务器都完成相同业务,保证系统稳定性、可靠性。

三、远程调用

  1. 是什么: 分布式系统中,各个服务可能位于不同主机,服务之间需要相互调用,称之为远程调用。
  2. 怎么做: Spring Cloud 使用 Http + JSON的方式完成远程调用

四、负载均衡

gateway —> ribbon

五、服务注册中心

  1. 服务注册: 服务注册是指将服务实例的网络位置(如IP地址和端口号)注册到服务注册中心,以便其他服务可以发现和调用它。 a. 微服务通过添加依赖(nacos, actuator) b. 编写配置文件(application.yml) c.
    @EnableDiscoveryClient注解的作用是启用服务发现功能,将应用程序注册到服务注册中心,以便其他服务可以发现和调用它。
  1. 服务发现: 服务发现是指在运行时动态地发现和调用其他服务的能力。通过服务发现,服务可以从服务注册中心获取其他服务实例的网络位置信息,从而实现服务之间的通信和协作。
    a.
    服务发现就是在一个微服务架构中,通过使用RestTemplate或者Feign等工具来调用另一个服务。通过服务发现,服务可以动态地发现其他服务的实例,并且可以通过网络调用与这些服务进行通信。这种方式使得微服务之间可以相互协作,实现了分布式系统中的服务调用和协同工作。
    b. 其实可以这样理解:服务发现就是,使用RestTemplate 或者 Feign 等工具,通过 http api
    通信机制,结合微服务名称,从注册中心,调用另外一个微服务 c. 有什么用:实现微服务相互调用,实现微服务负载均衡

六、配置中心

  1. 为什么要使用配置中心:
    a. 在使用集群的时候,同一个微服务需要部署在多台主机上,此时,这里的每个微服务都是相同的,有相同的配置文件。当需要修改配置文件时,产生大量重复性工作
    b. 配置中心可以实现自动化配置文件。通过配置中心,您可以将应用程序的配置信息集中管理,并且可以实现配置文件的动态更新和自动刷新。这意味着,当您在配置中心修改了配置信息后,应用程序可以自动获取最新的配置,无需重启或手动刷新。
  1. 怎么使用配置中心
    a. 添加Maven依赖:在项目的pom.xml文件中添加nacos-client的Maven依赖。
    b. 在应用的配置文件中添加配置中心信息:在application.yml或application.properties中添加Nacos配置中心的相关配置信息。
    c. 将配置上传到Nacos配置中心
    d. Nacos客户端可以动态地读取Nacos配置中心中的配置信息。

七、服务熔断

  1. 是什么: 服务熔断是一种微服务架构中的容错机制,用于防止故障在分布式系统蔓延(服务链式调用,上游服务阻塞,导致下游服务全部阻塞)。服务熔断机制设置服务失败阈值,当超过这个阈值时,开启断路保护机制,告诉后来的机制不要来调用此服务,而从本地直接返回默认的数据。过一段时间后逐渐把请求放进来,直到服务失败次数低于阈值。提升整个系统的稳定性。
  1. 怎么做:
    a. 引入pom依赖,编写application配置,主启动类激活服务发现
    b. 在 sentinel 服务中配置熔断规则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值