spring-cloud之集成Eureka

继springcloud初始项目后的继续完善:https://blog.csdn.net/newsun87/article/details/127876983?spm=1001.2014.3001.5501

新建一个maven项目

导入依赖>添加配置>添加使用Enable注解>

1.导入依赖

       <!--导入Eureka依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
      <!--也可导入热部署-->

2.Eureka配置文件

server:
 port: 8001
#Eureka配置
eureka:
 instance:
   hostname: localhost #Eureka服务端实例名称
 client:
   register-with-eureka: false #是否向注册中心注册自己
   fetch-registry: false  #false表示自己为注册中心
   service-url:
     defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

3.启动类,添加Enable注解

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

开发时遇到的问题1
1.Failed to retrieve application JMX service URL 在启动Eureka项目时一直无法启动报错,百度后很多人遇到这个问题,解决方案如下。
在这里插入图片描述
选择报错的工程启动类,相同的配置,不是每一个都启动报错
在这里插入图片描述
取消选择springBoot后取消勾选
在这里插入图片描述
开发时遇到的问题2

在建父工程的时候,我选择的springCloud版本和springBoot版本分别是:
springCloud :Greenwich.SR2
springBoot :2.1.4.RELEASE
结果在启动Eureka工程时一直报错,报错内容没有完全复制,百度后大概知道是版本不匹配导致的,但是不知道选择哪个版本合适,
Eureka:1.4.6.RELEASE
最后升级了springCloud和springBoot版本搞定,具体报错内容没有保存

启动后能访问以下页面,表示eureka服务启动成功,接下来需要在服务提供者和服务消费者两个工程配置Eureka配置相关信息,用于注册和远程调用
在这里插入图片描述

4.在服务提供者加入Eureka

导入Eureka依赖
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

5.在服务提供者配置文件中添加Eureka配置

#Eureka注册位置
eureka:
  client:
    service-url:
      defaultZone : http://localhost:8001/eureka/

6.启动类添加注解

@EnableEurekaClient//在服务启动后注册到eureka

先启动该Eureka,再启动服务提供者
在这里插入图片描述
修改Eureka上的默认描述,在配置文件修改
在这里插入图片描述

7.完善监控信息

可以在服务提供者中,配置想让消费者看到的信息
在这里插入图片描述
pom文件导入新的jar

<!--配置监控信息-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

配置文件中添加展示信息

info:
  app:
    name : springcloud-kuang
    company : com.kuang.study

在这里插入图片描述
跳转结果就是展示配置信息主要用户介绍注册中心
在这里插入图片描述

8.注册发现(只做功能介绍,实际作用不大)

获取相关服务提供者信息,在服务提供者添加接口信息

import org.springframework.cloud.client.discovery.DiscoveryClient;

@Autowired
    private DiscoveryClient client;
@GetMapping("/dept/decovery")
public Object getClient(){
        //获取微服务列表清单
        List<String> services = client.getServices();
        //获取服务提供者的id
    System.out.println("services=>"+services);
List<ServiceInstance> instances = client.getInstances("SPRINGCLOUD-PROVIER-DEPT");
//便利服务提供的信息
    for (ServiceInstance serviceInstance :instances
         ) {   System.out.println(serviceInstance.getHost()+":="+serviceInstance.getPort()+":="+serviceInstance.getUri()+":="+serviceInstance.getServiceId());
        
    }
        return  client;
    }

在启动类添加注解

@SpringBootApplication
@EnableEurekaClient//在服务启动后注册到eureka
@EnableDiscoveryClient//服务发现生效注解
public class DeptProvider {
    public static void main(String[] args) {
        SpringApplication.run(DeptProvider.class,args);
    }
}

启动后访问接口
在这里插入图片描述
在这里插入图片描述

eureka集群配置

1. 新建不同的eureka服务端工程项目

在这里插入图片描述

2.服务端配置修改 以8003为例

server:
  port: 8003
#Eureka配置
eureka:
  instance:
    hostname: eureka8003.com #Eureka服务端实例名称
  client:
    register-with-eureka: false #是否向注册中心注册自己
    fetch-registry: false  #false表示自己为注册中心
    service-url:  #关联不同的eureka地址
      defaultZone: http://eureka8001.com:8001/eureka/,http://eureka8002.com:8002/eureka/

3.服务提供者修该配置集群注册的服务

#Eureka注册位置
eureka:
client:
  service-url:
    defaultZone :  //写在本行,三个注册服务,注意格式
    http://eureka8001.com:8001/eureka/,
    http://eureka8002.com:8002/eureka/,
    http://eureka8003.com:8003/eureka/

== 任意注册中心,都有关联另外两个注册中心,同时都注册了服务提供者8002 ==
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值