SpringCloud简单使用

本文介绍了如何使用SpringCloud搭建Eureka服务注册中心,创建商品服务和订单服务,并实现Ribbon客户端负载均衡。此外,还详细讲解了如何通过Feign进行声明式服务调用,设置超时和重试,以及如何集成Hystrix实现断路器和降级策略,保障服务的稳定性和容错性。
摘要由CSDN通过智能技术生成

参考文档:https://www.springcloud.cc/

项目结构说明:订单服务远程去调用商品服务

eureka-server:服务注册中心

order-server:订单服务

product-server:商品服务

1、搭建Eureka注册中心

 1.1、创建一个SpringBoot项目名为eureka-server,在pom加入如下依赖

    <properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>Hoxton.SR6</spring-cloud.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

1.2、在application.yml中添加如下配置

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false #是否将自己注册到服务中心
    fetch-registry: false  #屏蔽注册信息
  #关闭实例保护,心跳比例低于85%,eureka会将这些实例保护起来,不会过期,如保护期间内该服务刚好下线,消费者就会拿到无效服务实例
  server:
    enable-self-preservation: false

1.3、在启动类加上@EnableEurekaServer注解,表示启动注册中心。随后可访问http://localhost:8761/地址,查看注册的服务等信息。

2、搭建商品服务项目

2.1、使用SpringBoot创建一个项目,名为product-server,加入如下依赖

<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>Hoxton.SR6</spring-cloud.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

2.2、在application.yml配置文件中加入如下配置,表示将该服务往注册中心注册

server:
  port: 8389

#往哪个地址注册
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

#配置本服务名称
spring:
  application:
    name: product-server

2.3、增加根据ID获取商品的接口

2.4、商品服务我们开启两个,端口分别是8389,8489,方便后面Ribbon做客户端负载平衡器;轮询去调用,可修改,假如有一台挂了,默认情况下,如果RestClient在最后三次未能与其建立连接,则会触发实例。一旦一个实例被电路跳闸,它将停留在这种状态30秒后,电路才会被视为再次关闭。然而,如果它继续失败连接,它将再次成为“电路跳闸”,等待时间成为“电路关闭”将成倍增加的数目连续故障。

Ribbon是一种客户端负载平衡器,可让您对HTTP和TCP客户端的行为进行大量控制。

Ribbon中的中心概念是指定客户的概念。每

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud 是一套用于开发分布式系统的框架,它基于 Spring Boot 构建,并提供了一系列的工具和组件,帮助开发者快速构建、部署和管理分布式应用。Spring Cloud 主要解决了分布式系统中的服务注册与发现、配置管理、负载均衡、断路器等常见问题。 使用 Spring Cloud,你可以通过集成一些核心组件,如Eureka、Ribbon、Feign、Hystrix等,来实现微服务架构中的服务注册与发现、负载均衡、服务调用、容错处理等功能。同时,Spring Cloud 还提供了一些辅助组件,如Config、Bus、Stream等,用于配置管理、消息总线、事件驱动等场景。 具体而言,你可以按照以下步骤来使用 Spring Cloud: 1. 创建 Spring Boot 项目:使用 Spring Initializr 创建一个基于 Spring Boot 的项目。 2. 引入 Spring Cloud 依赖:在项目的 pom.xml 文件中引入 Spring Cloud 相关的依赖。 3. 配置服务注册与发现:使用 Eureka 或者其他注册中心组件,配置服务的注册与发现功能。 4. 配置负载均衡:使用 Ribbon 或者其他负载均衡组件,配置服务调用的负载均衡策略。 5. 实现服务间调用:使用 Feign 或者其他服务调用组件,实现服务间的远程调用。 6. 实现容错处理:使用 Hystrix 或者其他容错处理组件,实现服务的容错处理、熔断降级等功能。 7. 配置管理:使用 Config 或者其他配置管理组件,实现配置的动态管理和刷新。 8. 消息总线:使用 Bus 或者其他消息总线组件,实现配置的集中管理和动态刷新。 以上是一个简单使用 Spring Cloud 的流程,你可以根据具体需求选择适合的组件和工具进行集成和配置。希望对你有所帮助!如果还有其他问题,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值