Eureka 系列(01)最简使用姿态

Eureka 是由 Netflix 公司的服务发现中间件,包括服务发现服务器和客户端的。Spring Cloud Eureka 官网文档

0. Spring Cloud 系列目录 - Eureka 篇

1. 服务发现与发现

1.1 服务发现(Service Discovery)

服务发现:在计算机网络中,一种自动发现设备或者服务的技术,通过服务发现协议(Service Discovery Protocol)实现。常见的协议有以下几种:

  • Java: Jini(Apache River)
  • REST: HATEOAS
  • Web Services: UDDI(Universal Description Discovery and Integration)

1.2 服务注册(Service Registration)

服务注册(Service Registration)在计算机网络中,为了更好地治理多个设备或者服务,这些设备或者服务主动或者被动注册到管理中心,以便服务被发现和消费。常见注册中心有以下几种:

  • Apache Zookeeper: CAP 满足 CP 理论,高一致性,牺牲了可用性。
  • Netflix Eureka: CAP 满足 AP 理论,高可用性,牺牲了高一致性。
  • Consul: GO语言编写。

2. Eureka

2.1 服务端: Eureka Server

Eureka Server 是 Eureka Client 的注册服务中心,管理所有注册服务、以及其实例信息和状态。

运行 Eureka Server:

  • 依赖:org.springframework.cloud:spring-cloud-starter-eureka-server
  • 激活: @EnableEurekaServer

默认情况下 Eureka 即是服务端,也是作为其它 Eureka Server 的客户端,需要配置 Eureka 的地址,单机版配置如下:

# 因为当前的 Eureka 是单机的,需要关闭集群的配置
eureka:
client:
register-with-eureka: false # 取消向注册中心注册
fetch-registry: false # 取消向注册中心获取注册信息(服务、实例信息)
service-url:
defaultZone: http://localhost:10001/eureka

2.1.1 Eureka Server HA

集群情况下 Eureka 也是作为其它 Eureka Server 的客户端,配置 Eureka 的地址即可:

eureka:
instance:
hostname: peer1
client:
service-url:
defaultZone: http://peer2:10012/eureka,http://peer3:10013/eureka

2.1.2 OPEN API

表1:Eureka OPEN API

操作 OPEN API
获取所有服务 http://${host}:${port}/euraka/apps
获取指定应用服务 http://${host}:${port}/euraka/apps/{appName}
获取指定应用的指定实例服务 http://${host}:${port}/euraka/apps/{appName}/{id}
注册实例服务 http://${host}:${port}/euraka/apps/{appName}

2.2 客户端: Eureka Client

Eureka Client 为当前服务提供注册、同步、查找服务以及其实例信息或状态等能力。

运行 Eureka Client

  • 依赖:org.springframework.cloud:spring-cloud-starter-eureka

  • 激活: @EnableEurekaClient(只有 Eureka 才有效) 或者 @EnableDiscoveryClient

    是不是没扫描包@ComponentScan

eureka.client.service-url.defaultZone=http://localhost:10001/eureka

(1) Euraka Client API

  • EurekaClientConfigBean Eureka 客户端配置 API
  • EurekaInstanceConfigBean Eureka 实例配置 API

每天用心记录一点点。内容也许不重要,但习惯很重要!

Eureka 系列(01)最简使用姿态的更多相关文章

  1. Feign 系列(01)最简使用姿态

    目录 Feign 系列(01)最简使用姿态 1. 引入 maven 依赖 2. 基本用法 3. Feign 声明式注解 Feign 系列(01)最简使用姿态 Spring Cloud 系列目录(htt ...

  2. Eureka 系列(04)客户端源码分析

    Eureka 系列(04)客户端源码分析 [TOC] 0. Spring Cloud 系列目录 - Eureka 篇 在上一篇 Eureka 系列(01)最简使用姿态 中对 Eureka 的简单用法做 ...

  3. java io系列01之 "目录"

    java io 系列目录如下: 01. java io系列01之  "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...

  4. SAP接口编程 之 JCo3.0系列(01):JCoDestination

    SAP接口编程 之 JCo3.0系列(01):JCoDestination 字数2101 阅读103 评论0 喜欢0 JCo3.0是Java语言与ABAP语言双向通讯的中间件.与之前1.0/2.0相比 ...

  5. Java 集合系列 01 总体框架

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  6. Java 之 I/O 系列 01 ——基础

    Java 之 I/O 系列 目录 Java 之 I/O 系列 01 ——基础 Java 之 I/O 系列 02 ——序列化(一) Java 之 I/O 系列 02 ——序列化(二) 整理<疯狂j ...

  7. JavaScript进阶系列01,函数的声明,函数参数,函数闭包

    本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调 ...

  8. 委托、Lambda表达式、事件系列01,委托是什么,委托的基本用法,委托的Method和Target属性

    委托是一个类. namespace ConsoleApplication1 { internal delegate void MyDelegate(int val); class Program { ...

  9. [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序

    [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序   一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...

随机推荐

  1. z-index只能用在定位元素上

    弄了很久才突然想到z-index只能用在被定位的元素上. 定位的时候要注意给父级定位 在ie7里有问题的部分

  2. ML&MLDS笔记:偏差 vs 方差

    原文地址:https://www.jianshu.com/p/a02c6bd5d5e9 error来自哪?来自于偏差Bias和方差Variance. 就如打靶时瞄准一个点\(\overline{f}\ ...

  3. log4j日志记录到数据库

    log4j API提供 org.apache.log4j.jdbc.JDBCAppender 对象,它能够将日志信息在指定的数据库. JDBCAppender 配置: Property 描述 buff ...

  4. 打开myeclipse出现这个错是为什么

  5. Spring Cloud Eureka自我保护机制

    自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行. 默认情况下,如果Eureka Serve ...

  6. 在Ubuntu中安装配置java后运行java -version时提示二进制文件不能执行

    因为jdk安装包有问题,试试32位的

  7. CSS3 新特性(box-sizing盒模型,背景线性渐变,filter滤镜,calc函数,transition过渡)

    1.盒子模型(box-sizing) CSS3 中可以通过 box-sizing 来指定盒模型,有两个值:即可指定为 content-box.border-box,这样我们计算盒子大小的方式就发生了改 ...

  8. JDK安装的一些设置

    一:设置环境变量 1.新建环境变量JAVA_HOME值为JDK安装目录   然后编辑Path环境变量添加".%JAVA_HOME%\bin;". Ps:JDK5.0不需要设置cla ...

  9. Lenovo E42-80安装Linux的注意事项

    Lenovo E42-80安装Linux的注意事项 https://www.cnblogs.com/dylanchu/p/9750760.html 1. 用U盘做个liveCD While makin ...

  10. CICS FILE OPEN

    CEMT I CECD V FILE() GROUP() CEDA check error log in JESYSMSG FILE OPEN/CLOSE STATUS CICS ACTION res ...