Spring Cloud之eureka(服务的注册和发现)

344 阅读2分钟

Spring Cloud之eureka(服务的注册和发现)

搭建服务的注册中心

创建一个基础的Spring Boot工程(eureka-server),引入相关必要的依赖

```xml
	<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
``` 

Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计

```xml
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-actuator-docs</artifactId>
    </dependency> 
```

通过@EnableEurekaServer 注解启动一个服务注册中心

在application.yml添加如下配置:

eureka.client.register-with-eureka:由于该应用是注册中心,所有设置为false
eureka.client.fetch-registry:注册中心的职责是维护服务实例,不需要去检索,所以也是false

启动引用并访问http://localhost:8080/eureka 可以看到面板显示 现在注册中心是没有注册任何服务的

搭建服务的提供者

搭建一个简单的Spring Boot项目 添加如下依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>

通过@EnableDiscoveryClient或者@EnableEurekaClient`来完成注册

在application.yml添加如下配置

    spring.application.name:为服务命名
    eureka.client.serviceUrl.defaultZone:指定服务注册中心的地址

启动服务注册中心和服务的提供者(provider-first),这时控制面板显示

表示已经注册成功

其他配置

    eureka.instance.prefer-ip.address:如果我们不想用主机名来定义注册中心的地址,也可以使用ip来展示,设置参数为true,默认是false

服务的注册中心添加管理员,引入相关依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

在application.yml添加如下配置:

  security:
    user:
        name: hello
        password: hello  

修改注册中心地址

defaultZone: http://name:password@${eureka.instance.hostname}:${server.port}/eureka/

启动注册中心,会出现(输入账号和密码即可)

结尾:最近公司新项目使用到spring cloud,记录下自己的学习经历,第一次写,待进步