Spring Cloud (2) —— Eureka

本项目将使用伪集群方式部署 eureka-server 。

创建注册中心

  1. 模块名称 spring-cloud.s1.eureka-server
    (s1 表示 step1)
  2. 修改 pom 文件

    <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    </dependencies>
  3. 创建启动类 me.xhy.java.springcloud.s1.eureka.EurekaServerApplication

    //1. @SpringBootApplication
    //spring-boot 注解,相当于 @Configuration + @EnableAutoConfiguration + @ComponentScan
    //@EnableAutoConfiguration -> AutoConfigurationImportSelector  会加载 META-INF/spring.factories 中指定的组件
    //这里应用了 SPI 协议
    
    //2. @EnableEurekaServer
    //完成注册中心功能
    @SpringBootApplication
    @EnableEurekaServer
    public class EurekaServerApplication {
      public static void main(String[] args) {
        /*
        启动参数一定要加 `args` ,以后命令行传参就是靠这个变量
         */
        SpringApplication.run(EurekaServerApplication.class, args);
      }
    }
  4. 添加配置文件

    eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件application.yml:

    server:
      port: 35001
    
    eureka:
      instance:
        hostname: localhost
    
    spring:
      application:
        name: eurka-server

    通过 eureka.client.registerWithEureka
    : false 不向服务中心注册 和 eureka.client.fetchRegistry
    : false 不获取服务列表。作为 Eureka Server , Eureka Server 集群之间可以同步服务列表,没有必要对外暴露 Eureka Server 的服务,也不需要显示的设置下载服务列表。

    关于 yml 文件,他对格式的要求非常严格:

    1. 缩进标准必须一致
    2. 缩进层级必须依次递增
    3. 缩进必须对齐
    4. :
      后必须有空格
    5. value 再长也不能回行
    6. value 如果是由 ,
      分隔的,可使用 -
      数组形式替代使其单行内容缩短
  5. 启动工程

运行 EurekaServerApplication 的 main 函数。

此时会报错,先忽略。可以从控制台启动日志看到,tomcat 被启动了,端口是配置文件指定的 35001 。

  1. 访问

访问 http://localhost:35001/

可不是 http://localhost:35001/eureka

此时还没有服务注册到 eureka ,"Instances currently registered with Eureka" 区域显示 "No instances available" 。

原文 

https://segmentfault.com/a/1190000022024085

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring Cloud (2) —— Eureka

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址