【SpringCloud项目实战】Eureka--springClould笔记一:

本文详细介绍Eureka作为服务注册与发现组件,在微服务架构中如何实现服务注册、服务发现及集群搭建。涵盖Eureka服务端与客户端配置,以及通过RestTemplate进行服务调用的方法。

目录

单机版注册中心:

1、Eureka服务端:

2、EurekaClient端的--服务提供者端:

3、EurekaClient端的--服务调用者端:

集群版注册中心:

1、Eureka服务端:

2、EurekaClient端的--服务提供者Service端:

3、EurekaClient端的--服务调用者端:

PS:RestTemplate: 是有一种优雅的HTTP请求方式---参考二

1.自我保护机制:

2.禁止自我保护:


单机版注册中心:

1、Eureka服务端

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

yml:
    server:
      port: 7001

    eureka:
      instance:
        hostname: localhost #eureka服务端的实例名字
      client:
        allow-redirects: false # 是否向注册中心注册本服务:true为是。注册中心不需要将自己注册进去
        fetch-registry: false # false表示自己是注册中心,职责是维护服务实例,并不需要去检索服务
        service-url:
          #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址,多个时用逗号隔开
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

主启动类 :
 @EnableEurekaServer
 @SpringBootApplication
 @EnableEurekaServer //服务端:注册中心
 public class EurekaApplication7001 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication7001.class,args);
    }
}

 

2、EurekaClient端的--服务提供者端:

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

server:
  port: 8001
spring:
  application:
    name: cloud-payment-service # 服务名称
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.gjt.mm.mysql.Driver
    url: jdbc:mysql://localhost:3306/db2019?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456789
eureka:
  client:
    register-with-eureka: true
    fetchRegistry: true
    service-url:
      defaultZone: http://localhost:7001/eureka

主启动类添加注解:@EnableEurekaClient

 

3、EurekaClient端的--服务调用者端:

80Controller层
@Resource
public RestTemplate restTemplate;
public static final String PAY_URL="http://localhost:8001";
@GetMapping("/consumer/payment/get/{id}")</
Spring Cloud Starter Eureka Actuator 是个用于 Spring Cloud 的启动器,它集成了 Eureka 服务发现和 Actuator 端点监控功能。通过这个启动器,你可以快速搭建Eureka 服务器,并且能够通过 Actuator 提供的各种端点来监控和管理你的服务。 ### 主要功能: 1. **服务注册与发现**:Eureka 作为服务注册中心,允许各个微服务在启动时向 Eureka 服务器注册自己,并在关闭时注销。其他微服务可以通过 Eureka 获取到这些服务的实例信息,从而进行服务调用。 2. **健康检查**:Eureka 可以定期对已注册的服务实例进行健康检查,确保只返回健康的服务实例给客户端。 3. **Actuator 端点**:Actuator 提供了组 HTTP 端点,可以用来监控应用的各种运行时指标,如内存使用情况、垃圾回收信息、线程状态等。 ### 配置示例: 在你的 `pom.xml` 文件中添加依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ``` 在 `application.yml` 或 `application.properties` 中进行配置: ```yaml server: port: 8761 eureka: client: registerWithEureka: false # 表示该应用不向 Eureka 注册自己(因为它是 Eureka Server) fetchRegistry: false # 表示该应用不需要从 Eureka 获取注册表信息 serviceUrl: defaultZone: http://localhost:8761/eureka/ server: enableSelfPreservation: false # 关闭自我保护模式,防止 Eureka Server 剔除不可用的服务实例 evictionIntervalTimerInMs: 5000 # 清理间隔时间 management: endpoints: web: exposure: include: health,info,metrics # 暴露的健康检查、信息和指标端点 ``` ### 使用示例: 启动 Eureka Server 后,你可以在浏览器中访问 `http://localhost:8761/` 查看 Eureka 的控制面板。同时,你可以通过 `http://localhost:8761/actuator/health` 查看健康检查信息,通过 `http://localhost:8761/actuator/metrics` 查看应用的运行时指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢美玲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值