• 【退役之重学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 服务中配置熔断规则
  • 相关阅读:
    ROS python实现乌龟跟随
    Qt 打包发布程序,解决找不到msvcp140.dll等动态库问题正确方案
    来自上海的联合办公企业堂堂加集团申请纳斯达克IPO上市
    谷粒商城 高级篇 (二十四) --------- 秒杀业务
    【878. 第 N 个神奇数字】
    leetcode——腾讯企业真题--数组与字符串 11.字符串相乘
    同花顺_代码解析_交易系统_J01_08
    JDK JVM JRE和Java API的关系
    Autosar Configuration(九) Security之不修改DBC属性配置SecOC安全报文、同步报文和同步请求报文
    Jtti:windows中apache怎么实现负载均衡
  • 原文地址:https://blog.csdn.net/weixin_41899098/article/details/139015052