SpringCloud(1)Eureka 服务注册中心

Eureka提供服务的发现注册,心跳,健康检查功能。分布式的基础功能。采用的是客户端发现模式,Eureka Client需要每30秒给Eureka Server发一次心跳,同时更新Server上最新的注册信息到本地,如果Server多次没有收到来自客户端的心跳,那么在90秒内会被Server上剔除。

一. Eureka server

(1)pom文件

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

(2) application.yml

eureka:
  client:
    service-url:
      #本身自带客户端,注册服务端地址,多台server端时互相注册,建议使用多台防止挂了
      defaultZone: http://localhost:8001/eureka,http://localhost:8002/eureka
    #表示是否将自己注册到Eureka Server,默认为true。由于当前应用就是Eureka Server,故而设置为false
    register-with-eureka: false
    # 表示是否从Eureka Server获取注册信息,默认是true.单点的时候设置为 false,不需要同步其他Eureka server节点的数据
    #fetch-registry: false
  server:
    #开发环境可以关闭自我保护,不要出现告警
    enable-self-preservation: false
spring:
  application:
    name: eureka
server:
  port: 8003

 

(3)EurekaApplication.java 使用 @EnableEurekaServer,表示这个类为Eureka Server类

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

二。Eureka client

(1) pom.xml

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

(2) application.yml

ps: spring.application.name这个配置很重要,eureka可视化窗口上显示的就是这个名字,以后服务与服务之间相互调用一般都是根据这个name 

eureka:
  client:
    service-url:
      #注册服务端地址,多台server时,都注册
      defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka,http://localhost:873/eureka
spring:
  application:
    name: springcloud-eureka-client

(3)ClientApplication.java 使用@EnableEurekaClient

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

 

访问Eureka server http://localhost:8003/,看到Eureka client已经注册上去了

 

 

三。 Eureka server一般有多台应用防止某台挂了

server端的该配置,配其他server端点的。client端配置所有server端点的

eureka:
  client:
    service-url:
      #本身自带客户端,注册服务端地址,多台server端时互相注册,建议使用多台防止挂了
      defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka

参考资料:
http://www.ityouknow.com/spring-cloud.html
https://www.cnblogs.com/haly/p/10756742.html
posted @ 2020-04-08 11:36  haohao1234  阅读(150)  评论(0编辑  收藏  举报