本文详细介绍spring cloud微服务的默认注册中心--eureka注册与发现。开发环境需要Windows系统、jdk和intellij idea。与zookeeper注册中心相比,eureka不需要服务器中间件,而且有更高的可用性,但不保证强一致性。

  用idea生成spring boot项目,选中jar包Cloud Discovery--Eureka Server,在启动类添加注解@EnableEurekaServer表名该服务为注册中心。下面分单节点和多节点(高可用)分别介绍配置文件:

  单节点配置application.yml非常简单,但因为是单节点,必须配置禁止自己注册自己:

spring:
application:
name: register #微服务名称 eureka:
instance:
hostname: localhost #主机名
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #默认到此路径发现服务
register-with-eureka: false
fetch-registry: false
server:
enable-self-preservation: false server:
port: 1111

  打包,再cmd启动注册中心--单节点:java -jar F:\jars\register-0.0.1-SNAPSHOT.jar即可,web监控访问地址:http://localhost:1111,监控内容这里省略不讲

 多个节点(3个节点为例)配置application.yml有一小点麻烦,这里需要配置三个文件application-peer1.yml,application-peer2.yml,application-peer3.yml,以application-peer1.yml为例,其他两个类似:
spring:
application:
name: eureka-server #服务名称 eureka:
instance:
hostname: peer1 #服务器上配置主机名叫peer1
client:
service-url:
defaultZone: http://peer2:1112/eureka/,http://peer3:1113/eureka/ #默认到这两个地址发现服务 server:
port: 1111

   cmd启动注册中心--高可用多节点(3个节点为例):
    先配置hosts文件--将hosts文件拖到桌面添加如下内容,再拖回原来的位置,替换使hosts生效:
    127.0.0.1 peer1
    127.0.0.1 peer2
    127.0.0.1 peer3
    java -jar F:\jars\register-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
    java -jar F:\jars\register-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
    java -jar F:\jars\register-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3
    web监控访问地址:http://localhost:1111,监控内容这里省略不讲

  源码下载地址:https://github.com/zhzhair/spring-cloud-examples.git

spring cloud 注册中心--eureka注册与发现的更多相关文章

  1. Spring Cloud(Dalston.SR5)--Eureka 注册中心搭建

    基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,服务治理可以说是微服务架构中最为核心和基础的模块,他主要用来实现各个微服务实例的自动化注册与发现 服务注册:在 ...

  2. Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费

    由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册.服务发现的具体Eureka 注册中心配置, ...

  3. Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用搭建

    高可用集群 在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对与微服务和服务注册中心都需要高可用部署,Eureka 高可用实际上就是将自己 ...

  4. Spring Cloud 如何使用Eureka注册服务 4.2.2

    要使用Eureka实现服务发现,需要项目中包含Eureka的服务端发现组件以及客户端发现组件. 搭建Maven父工程 创建一个Maven父工程xcservice-springcloud,并在工程的po ...

  5. 【Spring Cloud笔记】Eureka注册中心增加权限认证

    在Spring Cloud通过Eureka实现服务注册与发现时,默认提供web管理界面,但是如果在生产环境暴露出来,会存在安全问题.为了解决这个问题,我们可以通过添加权限认证进行控制,具体步骤如下: ...

  6. Spring Cloud 注册中心Eureka

    一.简介 最近在看Spring Cloud微服务,接下来的时间和大家一起分享我所看到的,公司现在用的是dubbo ,之后有时间也去了解了解dubbo的源码.与dubbo相比较,Spring Cloud ...

  7. Spring Cloud 系列之 Eureka 实现服务注册与发现

    如果你对 Spring Cloud 体系还不是很了解,可以先读一下 Spring Cloud 都有哪些模块 Eureka 是 Netflix 开源的服务注册发现组件,服务发现可以说是微服务架构的核心功 ...

  8. spring cloud 服务注册中心eureka高可用集群搭建

    spring cloud 服务注册中心eureka高可用集群搭建 一,准备工作 eureka可以类比zookeeper,本文用三台机器搭建集群,也就是说要启动三个eureka注册中心 1 本文三台eu ...

  9. 孰能巧用 Spring Cloud 服务注册中心Eureka

    Eureka介绍 在Spring Cloud Netflix 整合技术栈中,Eureka既可以作为服务注册中心也可以用于服务发现对整个微服务架构起着最核心的整合作用. Eureka是基于REST(Re ...

随机推荐

  1. python之os

    os 系统级别的操作 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...

  2. 多项目管理中PMO的作用

    随着现代企业规模的不断扩大,多项目同时运行成为了现代企业的常态,以及企业项目化进程的不断深入,大部分企业不再仅仅只运行一个项目,而且数量之大已经超出了人们的想象,如惠普公司每年有3000个左右的项目, ...

  3. mariadb集群配置(主从和多主)

    mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  4. 关于 i++ 与 ++i

    首先关于这个真的不想在看资料了,自己都背过了,++i 和 i++,在单独使用时,就是 i=i+1. a = ++i        相当于 i=i+1; a = i; (先i = i + 1,再使用i的 ...

  5. Linux(Ubuntu)使用日记------自定义命令的使用

    Linux如何自定义自己的命令呢?修改 系统中的 ~/.bashrc 文件即可 在这个文件最后面使用alias命令重定义命令. 例如: # novel-git begin alias n.r='les ...

  6. Linux 学习 (四) 帮助命令

    Linux达人养成计划 I 学习笔记 man 命令 获取指定命令的帮助 man的级别 1:查看命令的帮助 2:查看可被内核调用的函数的帮助 3:查看函数和函数库的帮助 4:查看特殊文件的帮助(主要是/ ...

  7. 小数点保留n位有效数字

    char *psf = "183.0000000000000001"; ]; sprintf(chBuff, "%.2lf", atof(psf)); doub ...

  8. iOS 后台调用apns推送

    1.java调用apns推送 2.php 调用apns 推送,可借助终端

  9. Docker 容器日志格式化

    Docker容器的日志文件每一行都是一个json对象,其包含log.stream.time三个属性,下面的HTML从textarea中读取输入的日志信息,格式化为表格显示. <!DOCTYPE ...

  10. mybatis返回结果封装为map的探索

    需求 根据课程id 列表,查询每个课程id的总数,放到一个map里 最简单的就是循环遍历,每一个都查询一次网上说mybatis可以返回Map 和 List<Map>两种类型 尝试 直接返回 ...