当前位置: 首页 > article >正文

SpringBoot启动过程简述 和 SpringCloud 的五大组键

一,Spring Boot启动过程简述如下:

1,启动类:标有 @SpringBootApplication 注解的类是Spring Boot应用的入口点

2,@SpringBootApplication注解是一个复合注解,包含
@SpringBootConfiguration (表示这是一个Spring Boot配置类)、
@EnableAutoConfiguration(启用Spring Boot自动配置)以及
@ComponentScan(指定Spring扫描的包路径)。

3,运行 SpringApplication.run() 方法启动应用

4,SpringApplication 类负责启动Spring应用上下文。它会创建一个 ApplicationContext 实例。

5,run方法内部会做一系列工作,包括检查类路径、加载配置文件、实例化Spring容器等

6,自动配置@EnableAutoConfiguration会根据类路径上的jar依赖和
application.propertiesapplication.yml 文件中的配置来自动配置Spring容器

7,一旦容器启动完成,SpringApplication会启动完成并启动监听器

以下是一个简单的Spring Boot启动类示例:

@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}

二,SpringCloud的五大组键

1,服务发现与注册:Eureka Server和Eureka Client,Netflix Eureka,或Alibaba NCOS
Eureka 是一个服务注册与发现组件,它可以让微服务应用动态地注册和发现服务。
通过 Eureka,微服务应用可以轻松地找到其他服务并实现服务之间的通信。

2,客户端负载均衡,Spring Cloud Ribbon 负载均衡,Netflix Ribbon
是一个负载均衡组件,它可以帮助微服务应用在多个服务实例之间进行负载均衡,
提高系统的性能和可用性。Ribbon 支持多种负载均衡策略,并且与 Eureka 集成,
可以自动从 Eureka 服务注册中心获取服务实例信息。

3,断路器,Spring Cloud Hystrix,Netflix Hystrix
是一个容错管理组件,它可以帮助微服务应用处理分布式系统中的故障和延迟。
Hystrix 提供了断路器、超时和降级等机制,可以保护系统免受故障的影响,并提高系统的可靠性。

4,服务网关,Spring Cloud Gateway,Zuul网关,fegin请求,Netflix Zuul
是一个网关组件,它可以为微服务应用提供统一的访问入口和路由功能。
Zuul 可以实现请求的路由、过滤、负载均衡等功能,同时与 Eureka 集成,
可以动态地发现和路由到服务实例。

5,分布式配置管理,Spring Cloud Config,或Alibaba NCOS
提供服务端和客户端,服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境。
Config是静态配置的。如果需要动态配置,可以使用spring cloud bus进行动态配置更新。
 


http://www.kler.cn/news/329744.html

相关文章:

  • Vue下载pubsub-js中错误问题解决
  • Unity角色控制及Animator动画切换如走跑跳攻击全流程详解
  • 爬取元气手机壁纸简单案例(仅用于教学,禁止任何非法获利)
  • Activiti7 工作流引擎学习
  • 【文心智能体 | AI大师工坊】如何使用智能体插件,完成一款旅游类智能体的开发,来体验一下我的智能体『​​​​​​​厦门CityWalk』
  • ②无需编程 独立通道 Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器
  • WebRTC Connection Negotiate解决
  • 遥感图像语义分割数据集制作(使用ArcGIS Pro)
  • C++中substr用法记录
  • 开源链动2+1模式、AI智能名片与S2B2C商城小程序在精准选品与定位决策中的应用
  • 大数据毕业设计选题推荐-广东旅游数据分析系统-Hive-Hadoop-Spark
  • 问:JAVA中阻塞队列的概念、原理及使用场景?
  • springboot基于Vue的电影在线预定与管理系统
  • C0012.Clion改用VS编译器开发Qt界面
  • TCP的第三次握手没有回复,会出现哪些问题现象
  • Python | Leetcode Python题解之第448题找到所有数组中消失的数字
  • Go语言接口的基本概念
  • Qt-QTableWidget多元素控件(37)
  • element-ui 通过按钮式触发日期选择器
  • 【流计算】流计算概论
  • 如何安装和设置 Go 版本的 fabric AI 工作流框架?
  • MySQL基础篇 - 多表查询
  • Jmeter生成JWT token
  • 海外媒体投稿:如何运用3种国内外媒体套餐发稿突出重围?
  • 注册安全分析报告:人民卫生音像
  • profile-spec-ref元素
  • 【JavaEE】——线程池大总结
  • 代码随想录算法训练营DAY10之动态规划(二)背包问题
  • 什么是 Supply chain attack(供应链攻击)
  • 大数据毕业设计选题推荐-民族服饰数据分析系统-Python数据可视化-Hive-Hadoop-Spark