Server端

引入eureka server的maven依赖

引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka server依赖

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

启动类及yml相关配置

  1. 启动类上加@EnableEurekaServer注解
  2. yml中配置service-url、register-with-eureka: false、enable-self-preservation: false、服务名称、port
    • service-url的值要配置给defaultZone属性
    • register-with-eureka: false是为了不注册服务端本身,因为该server本身就是注册中心的服务,注册自身是没有意义的(eureka高可用时例外)
    • enable-self-preservation: false是为了关闭eureka的保护机制(只有在测试环境不断重启client的情况下才可以关闭该机制,生产环境一定要打开该机制),为了避免某些注册到eureka server的服务不断重启导致在线率降低,但是还存在于eureka中(该机制原理:当某些注册到eureka server的客户端由于某些原因导致在线率不达标时,eureka就会警告提示,与此同时,eureka会将这些在线率低的服务当作还存活的服务,所以当某些服务真的挂掉之后,eureka上面时还会存在这些服务的url的,这是eureka的一种保护机制,为了避免调用服务的消费者能及时发现某些服务已经不可用,所以我们在实际使用中将这种机制关掉,默认是true,这里改成false)
    • spring.application.name属性配置的服务名是服务部署后访问的名称,例如:该服务配置的spring.application.name值为eureka,访问时通过http://localhost:8761/eureka/访问。同时,如果该服务注册至eureka,则该服务在eureka中显示的服务名称也为eureka

     eureka管理页面上显示已注册的服务名称如下图:

    eureka的server端yml配置如下:

Client端

引入eureka client的maven依赖

引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka server依赖

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

启动类及yml相关配置

  1. 启动类上加@EnableDiscoveryClient注解
  2. yml中配置service-url、服务名称
    • service-url的值要配置给defaultZone属性,这个地方配置的时eureka服务端的url,如果服务端为高可用,则可以配置多个,中间用逗号隔开

   eureka的client端yml配置如下:

eureka高可用

高可用服务搭建

  1. 服务端起多个实例,实例与实例间两两互相注册,这样实例间就可以同步客户端信息

   eureka的高可用yml配置如下:

  服务启动时,需要启动多个实例,并且实例间两两相互注册,启动命令如下:

  通过-Dserver.port=8761指定某个实例的端口号

  nohup java -Dserver.port=8761 -jar eureka-0.0.1-SNAPSHOT.jar > eureka1.log 2>&1 &

eureka服务搭建的更多相关文章

  1. SpringCloud Eureka 服务注册与服务发现

    一.Eureka简介 spring Cloud Netflix技术栈中,Eureka作为服务注册中心对整个微服务架构起着最核心的整合作用.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只 ...

  2. 最基础的Eureka服务和注册搭建

    Eureka服务端 打开IDEA,新建项目 选择"next",写上组织名(Group)和项目名(Artifact) 选择如下选项,然后一直下一步,创建好项目. 删除不必要的文件 添 ...

  3. Spring cloud Eureka 服务治理(搭建服务注册中心)

    服务之类是微服务架构中最为核心的基础模块,它主要用来实现各个微服务实例的自动化注册和发现. 1. 服务注册 在服务治理框架中,通常会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机. ...

  4. Eureka服务注册于发现之Client搭建

    Eureka在Server端的搭建已经有很多介绍的文章,同时也是学习Eureka的第一步. 搭建好注册中心后怎么进行服务注册和服务调用,是我们要讲的主要内容. 开发环境:IDEA2018.3+Spri ...

  5. 小D课堂 - 新版本微服务springcloud+Docker教程_3-06 服务注册和发现之Eureka Client搭建商品服务实战

    笔记 6.服务注册和发现之Eureka Client搭建商品服务实战     简介:搭建用商品服务,并将服务注册到注册中心 1.创建一个SpirngBoot应用,增加服务注册和发现依赖     2.模 ...

  6. 小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战

    笔记 5.服务注册和发现Eureka Server搭建实战     简介:使用IDEA搭建Eureka服务中心Server端并启动,项目基本骨架介绍          官方文档:http://clou ...

  7. 【springcloud】Eureka服务注册中心搭建

    转自:https://blog.csdn.net/pengjunlee/article/details/86538997 Spring Cloud是一系列框架的集合,它利用Spring Boot的开发 ...

  8. eureka服务端和客户端的简单搭建

    本篇博客简单记录一下,eureka 服务端和 客户端的简单搭建. 目标: 1.完成单机 eureka server 和 eureka client 的搭建. 2.完成eureka server 的添加 ...

  9. 搭建eureka服务

    1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

随机推荐

  1. 网络编程之套接字(tcp)

    经过几天高强度的学习,对套接字的编程有了初步的认识,今天对这几天所学的知识总结一下:首先简单阐述一下tcp通信: TCP提供的是可靠的,顺序的,以及不会重复的数据传输,处理流控制,由于TCP是可靠的, ...

  2. linux实时文件事件监听--inotify

    一.inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系 ...

  3. Linux时间子系统之(三):用户空间接口函数

    专题文档汇总目录 Notes:用户空间时间相关接口函数: 类型 API 精度 说明 时间 time stime time_t 精度为秒级 逐渐要被淘汰.需要定义__ARCH_WANT_SYS_TIME ...

  4. Java 学习路线之四个阶段

    写这篇总结,主要是记录下自己的学习经历,算是自己对知识的一个回顾.也给想要学习 Java 的提供一些参考,对于一些想要学习Java,又不知道从哪里下手,以及现在有哪些主流的 Java 技术.想必大家学 ...

  5. Windows上使用Thunderbird与GPG发送和解密公钥加密的电子邮件

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=552 非对称加密的原理: 最先出现的加密方法是对称加密.在对称加密算法中是不区分公钥和私钥的,加密与解密使用的都是同一个 ...

  6. C/C++中结构体struct 的使用

    结构(struct)      结构是由基本数据类型构成的.并用一个标识符来命名的各种变量的组合.  结构中可以使用不同的数据类型.      1. 结构说明和结构变量定义      在Turbo C ...

  7. phantomjs Can not connect to the Service phantomjs错误

    尝试方法一: 打开hosts文件配置 cat /etc/hosts 添加 127.0.0.1 localhost 重新运行 尝试方法二: 1,抛开服务,直接调用phantomjs定位问题 由于我是从服 ...

  8. Python 时间模块

    模块分类 标准库 python解释器自带的, sys, os等 开源模块 比如selenium中的测试框架 自定义模块 比如自己封装的测试框架 时间格式 时间戳 当前时间减去1970年1月1日00:0 ...

  9. Nodejs.Electron(Nodejs的图形界面开发)安装和试用

    # 克隆示例项目的仓库 git clone https://github.com/electron/electron-quick-start # 进入这个仓库 cd electron-quick-st ...

  10. Celery beat实现定时/轮询任务

    Celery定时任务 配置 启用Celery的定时任务需要设置CELERYBEAT_SCHEDULE .  Celery的定时任务都由celery beat来进行调度.celery beat默认按照s ...