美文网首页
springcloud之eureka

springcloud之eureka

作者: GG_lyf | 来源:发表于2021-01-04 21:20 被阅读0次

    前言

      终于把所有的事都搞的差不多了,现在终于闲下来可以更博客了,老早之前就把springcloud给搞完了,一直没时间更它,我把它记在这里,希望不会忘记。


    开搞

    注册中心涉及三大角色:服务提供者,服务消费者,注册中心。他们的关系如下:

      各个微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据

      服务消费方从注册中心查询服务提供方者的地址,并通过该地址调用服务提供方的接口

      各个微服务与注册中心使用一定机制(例如心跳)进行通信。如果注册中心与某个微服务长时间无法通信,就会注销该服务

      微服务网络地址发送发生变化(例如实例增加或IP变动)时,会重新注册进注册中心,这样,服务消费者就无需人工修改提供者的网络地址了。

    这些都是白嫖的

    1.先用idea创建一个父springboot项目(咱们默认都用的是maven创建的项目,因为用脚手架还要改东西,我这里就不创建了),要用一个父依赖和springcloud的版本控制

    2.在父springboot项目中再创建一个springboot项目,叫注册中心(叫啥都行,名字而已)

    3.添加依赖(这里由于依赖了父工程的版本,因此就不需要再添加父工程依赖了)

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

    4.修改application.yml

    server:
      port: 9000  #端口名随便叫,只要和主机中现有的端口不冲突就行
    spring:
      application:
        name: eureka #微服务名,随便起,只要不耽误自己记就行
    eureka:
      instance:
        hostname: eureka  #相当于127.0.0.1
      client:
        fetch-registry: false #是否从eureka中获取注册信息
        register-with-eureka: false #是否将自己注册进eureka,本身就在,无需注册
        service-url:  #下面两个都可以,都是指定注册中心的位置的
          #      defaultZone: http://127.0.0.1:${server.port}/eureka/
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
    

    5.改写启动类

    @SpringBootApplication
    @EnableEurekaServer//启动eureka的服务端
    public class RegisterApplication {
      public static void main(String[] args) {
        SpringApplication.run(RegisterApplication.class);
      }
    }
    

    6.在和注册中心同级的目录下再创建一个springboot项目,就是一个小小的微服务,创建方法和注册中心一模一样

    7.添加客户端的依赖

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

    8.修改application.yml

    eureka:
      instance:
        prefer-ip-address: true  #如果设置eureka.instance.prefer-ip-address为false时,那么注册到Eureka中的Ip地址就是本机的Ip地址; 如果设置了true并且也设置了eureka.instance.ip-address=ipValue那么就将此ipValue注册到Eureka中
      client:
        service-url:
          defaultZone: http://127.0.0.1:9000/eureka/
    

    9.修改启动类

    @SpringBootApplication
    @EnableEurekaClient//eureka的客户端注解
    public class UserApplication {
    
      public static void main(String[] args) {
        SpringApplication.run(UserApplication.class);
      }
    
    }
    

    使用 localhost:9000访问


    image.png

    相关文章

      网友评论

          本文标题:springcloud之eureka

          本文链接:https://www.haomeiwen.com/subject/hzqboktx.html