spring cloud 一 (配置 eureka )

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能

eureka 工作原理:
在这里插入图片描述

看懂了原理,那么我们来做具体实现:

第一步
1、编写 eureka server 端,这个非常简单。
使用 idea 工具 创建spring boot 项目
只选用 选择 Cloud Discovery --> eureka Server 一个依赖:

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

2、然后 配置 属性文件: application.yml

spring:
  application:
    name: helloEureka #  服务名称

eureka:
  client:
#    service-url:  #如果需要部署集群,服务器之间需要相互注册,完成相互同步注册的client 端。
#      defaultZone: http://localhost:8000/eureka/  //这里是需要注册的服务器地址 多个服务器用 都好隔开
    register-with-eureka: false  #自己不需要注册自己所以需要设置成false
  server:
    enable-self-preservation: false #注册中心保护开关  默认打开,为了方便测试 需要把它关闭
    #保护机制,是防止由于网络延迟导致eureka 错误的判断其他服务挂掉了,而作为地址缓存机制,这样可以保证当网络正常是,能够再次连上。

server:
  port: 8000  端口号。

3、 在 application.class 类上添加注解: 启动服务。()

@SpringBootApplication
@EnableEurekaServer    //添加 服务注解
public class EurekaserverApplication {
	public static void main(String[] args) {
		SpringApplication.run(EurekaserverApplication.class, args);
	}
}

访问:localhost:8000 就可以看见服务器首页了。

第二步: 创建 两个客户端:
1、添加依赖:这里必要的三个依赖
① Cloud Discovery --> eureka Discovery
② Web --> web

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

        <!-- web 应用的 基本 依赖 这个不要过多解释-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

2、配置 application.class

@SpringBootApplication
@EnableDiscoveryClient  //注册为 客户端
public class ProductApplication {
	public static void main(String[] args) {
		SpringApplication.run(ProductApplication.class, args);
	}
}

3、配置 application.yml (启动,就可以连上 服务器)

server:
  port: 8081

eureka:
  client:
    service-url:
      defaultZone:  http://localhost:8000/eureka/   #向该地址的 eureka 服务器 注册,如果注册多个服务用逗号隔开。

# 应用注册 eureka 名称
spring:
  application:
    name: productClient

启动后,再次刷新 localhost:8080 就可以看见我们注册上去 的 productClient 客户端。注意在同一个机器上,需要修改不同的端口号。

猜你喜欢

转载自blog.csdn.net/zhanglinlang/article/details/88183492