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. 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXX'中的标识列指定显式值。

    (来自:https://zhidao.baidu.com/question/494717175.html)第一条回复,原因和例子都有了,解释的很好. 插入数据时,自增长列是系统自动处理,不需要你来指定 ...

  2. ubuntu安装完成后需要做的事情

    1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉 [html] view plain copy sudo a ...

  3. Java继承和构造函数

    构造函数不是类的成员,它们不是由子类继承的.它们用于初始化实例变量. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class CSuper {   public ...

  4. FrameWork内核解析之WindowManagerService(一)中篇

    阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680 1.WMS概述 WMS是系统的其他服务,无论对于应用开发还是Framew ...

  5. C# winform 文件管理

    1.FolderBrowserDialog 打开文件夹中默认路径下的excl文件 private void button7_Click(object sender, EventArgs e) { Fo ...

  6. 推荐MarkDown编辑工具Typora--文本画流程图示例

    程序员界名言:talk is cheap, show me the code CODE: ### 8. 修改预留手机号-per.MCReservedMobilePhoneUpd #### 8.1业务规 ...

  7. python之路——操作系统的发展史

    阅读目录 手工操作 —— 穿孔卡片 批处理 —— 磁带存储和批处理系统 多道程序系统 分时系统 实时系统 通用操作系统 操作系统的进一步发展 操作系统的作用 手工操作 —— 穿孔卡片 1946年第一台 ...

  8. adb基本操作

    用途 命令 备注 安装app adb install xxx.apk -l 锁定该应用程序-r 替换已存在的应用程序,也就是说强制安装-t 允许测试包-s 把应用程序安装到sd卡上-d 允许进行降级安 ...

  9. celery使用多队列

    生产者: 文件1: 定义任务 #!/usr/bin/env python3 # coding: utf-8 from celery import Celery import settings pw = ...

  10. Thunar 右键菜单等自定义

    Thunar 右键菜单等自定义 可以使用图形界面或者直接编辑配置文件,二者是等价的. 图形界面: 以给"zip,rar,7z"等文件添加"在此位置使用unar解压缩&qu ...