Eureka 注册中心

文章目录

    • 启动Eureka serve
      • 第一步 加入依赖
      • 第二步 写主配置
      • 第三步 在主启动类的上面加注解
      • 第四步启动测试
    • 启动 Eereka client
      • 第一步加入依赖
      • 第二步 写主配置文件
      • 第三步 在主启动类上加上以下注解
      • 第四步 启动服务 出现下面的界面表示成功
    • 同时注册多个 Eureka client
      • 显示以下界面表示成功
    • 集群Eureka server (相互注册,相互守望)
      • 第一步 导入依赖
      • 第二步 修改host文件 (防止名字相同无法区分)
      • 第三步 修改主配置文件7001
      • 第三步 修改从主配置文件7002
      • 第四步 在两个主启动类上加上以下注解
      • 第五步进行测试
    • Eureka client 注册进集群 Eureka server
    • 将 相同的uereka client 配置进不同发热 server
      • 测试成功如下界面
    • Eureka client 集群
      • 创建服务集群中的服务和创建单个服务一样,每个服务都需要注册到 Eureka client之中
    • 使用服务集群的的步骤
      • 在消费者段改动的地方一 对RestTemplate的改动
      • 在controller中的改动 地址不在写死 而是改成 spring-application-name 的值(大写)
    • 健康检查
    • 修饰主机名称
    • 修改显示ip

启动Eureka serve

第一步 加入依赖

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

第二步 写主配置

server:port: 7001
eureka:instance:hostname: localhost #eureka 服务端的实例名称client:register-with-eureka: false #表示不向注册中心注册自己fetch-registry: false #表示自己就是注册端,其职责就是维护服务实例,并不需要检索服务service-url:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与EurekaServer交互的地址查询服务和注册服务都需要依赖这个地址

第三步 在主启动类的上面加注解

package com.atguigu.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@EnableEurekaServer/*主要是加上这个注解*/
@SpringBootApplication
public class EurekaMain7001 {public static void main(String[] args) {SpringApplication.run(EurekaMain7001.class,args);}
}

第四步启动测试

出现以下界面表示启动成功
在这里插入图片描述

启动 Eereka client

第一步加入依赖

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

第二步 写主配置文件

eureka:client:#表示是否将自己注册进EurekaServer默认为true。register-with-eureka: true#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡fetchRegistry: trueservice-url:#单机版defaultZone: http://localhost:7001/eureka# 集群版#defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002

第三步 在主启动类上加上以下注解

@EnableEurekaClient

第四步 启动服务 出现下面的界面表示成功

在这里插入图片描述

同时注册多个 Eureka client

注册步骤和单独注册一个时一样

显示以下界面表示成功

在这里插入图片描述

集群Eureka server (相互注册,相互守望)

第一步 导入依赖

同上

第二步 修改host文件 (防止名字相同无法区分)

在这里插入图片描述

在这里插入图片描述

第三步 修改主配置文件7001

在这里插入图片描述

server:port: 7001
eureka:instance:hostname: eurake7001.com#    hostname: localhost #eureka 服务端的实例名称client:register-with-eureka: false #表示不向注册中心注册自己fetch-registry: false #表示自己就是注册端,其职责就是维护服务实例,并不需要检索服务service-url:defaultZone: http://eurake7002.com:7002/eureka/ #设置与EurekaServer交互的地址查询服务和注册服务都需要依赖这个地址

第三步 修改从主配置文件7002

在这里插入图片描述

server:port: 7002
eureka:instance:hostname: eurake7002.com#    hostname: localhost #eureka 服务端的实例名称client:register-with-eureka: false #表示不向注册中心注册自己fetch-registry: false #表示自己就是注册端,其职责就是维护服务实例,并不需要检索服务service-url:defaultZone: http://eurake7001.com:7001/eureka/ #设置与EurekaServer交互的地址查询服务和注册服务都需要依赖这个地址

第四步 在两个主启动类上加上以下注解

@EnableEurekaClient

第五步进行测试

出现以下界面表示Eureka集群配置成功
在这里插入图片描述
在这里插入图片描述

Eureka client 注册进集群 Eureka server

在这里插入图片描述

将 相同的uereka client 配置进不同发热 server

只需要改动主配置文件

server:port: 88
spring:application:name: cloud-order-serviceeureka:client:#表示是否将自己注册进EurekaServer默认为true。register-with-eureka: true#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡fetchRegistry: trueservice-url:#单机版
#      defaultZone: http://localhost:7001/eureka# 集群版defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/
server:port: 8001spring:application:name: cloud-payment-servicezipkin:base-url: http://localhost:9411datasource:type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型driver-class-name: org.gjt.mm.mysql.Driver              # mysql驱动包url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: 123456mybatis:mapperLocations: classpath:mapper/*.xmltype-aliases-package: com.atguigu.springcloud.entities    # 所有Entity别名类所在包eureka:client:#表示是否将自己注册进EurekaServer默认为true。register-with-eureka: true#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡fetchRegistry: trueservice-url:#单机版
#      defaultZone: http://localhost:7001/eureka# 集群版defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/

测试成功如下界面

在这里插入图片描述
在这里插入图片描述

Eureka client 集群

创建服务集群中的服务和创建单个服务一样,每个服务都需要注册到 Eureka client之中

在这里插入图片描述
在这里插入图片描述

使用服务集群的的步骤

在消费者段改动的地方一 对RestTemplate的改动

加上负载均衡注解 @LoadBalanced

@Configuration
public class ApplicationContextConfig {@LoadBalanced@Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();}
}

在controller中的改动 地址不在写死 而是改成 spring-application-name 的值(大写)

具体的值防止写错去服务中心查看
public static final String PAYMENT_URL =“http://CLOUD-PAYMENT-SERVICE”;

@RestController
@Slf4j
public class OrderController {public static final String PAYMENT_URL ="http://CLOUD-PAYMENT-SERVICE";@Resourceprivate RestTemplate restTemplate;@GetMapping("/consumer/payment/create")public CommonResult<Payment> create(Payment payment){return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class);}@GetMapping("/consumer/payment/get/{id}")public CommonResult<Payment> getPayment(@PathVariable("id") Long id){System.out.println("--------------------");return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class);}
}

健康检查

在这里插入图片描述

修饰主机名称

在这里插入图片描述

修改显示ip

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部