Eureka 系列(01)最简使用姿态
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
EurekaClientConfigBeanEureka 客户端配置 APIEurekaInstanceConfigBeanEureka 实例配置 API
每天用心记录一点点。内容也许不重要,但习惯很重要!
Eureka 系列(01)最简使用姿态的更多相关文章
- Feign 系列(01)最简使用姿态
目录 Feign 系列(01)最简使用姿态 1. 引入 maven 依赖 2. 基本用法 3. Feign 声明式注解 Feign 系列(01)最简使用姿态 Spring Cloud 系列目录(htt ...
- Eureka 系列(04)客户端源码分析
Eureka 系列(04)客户端源码分析 [TOC] 0. Spring Cloud 系列目录 - Eureka 篇 在上一篇 Eureka 系列(01)最简使用姿态 中对 Eureka 的简单用法做 ...
- java io系列01之 "目录"
java io 系列目录如下: 01. java io系列01之 "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...
- SAP接口编程 之 JCo3.0系列(01):JCoDestination
SAP接口编程 之 JCo3.0系列(01):JCoDestination 字数2101 阅读103 评论0 喜欢0 JCo3.0是Java语言与ABAP语言双向通讯的中间件.与之前1.0/2.0相比 ...
- Java 集合系列 01 总体框架
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 之 I/O 系列 01 ——基础
Java 之 I/O 系列 目录 Java 之 I/O 系列 01 ——基础 Java 之 I/O 系列 02 ——序列化(一) Java 之 I/O 系列 02 ——序列化(二) 整理<疯狂j ...
- JavaScript进阶系列01,函数的声明,函数参数,函数闭包
本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调 ...
- 委托、Lambda表达式、事件系列01,委托是什么,委托的基本用法,委托的Method和Target属性
委托是一个类. namespace ConsoleApplication1 { internal delegate void MyDelegate(int val); class Program { ...
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
[.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序 一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...
随机推荐
- Windows10系统下,如何彻底删除卸载MySQL
本文介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1>停止MySQL服务开始->所有应用->Windows管理工具->服务,将MySQL服务停止.2> ...
- input file转base64
不想用canvas转 <input type="file" id="file" accept="image/*" onchange=& ...
- activiti7组任务测试
package com.zcc.activiti05; import org.activiti.engine.*;import org.activiti.engine.repository.Deplo ...
- 几个比较好的IT站和开发库官网
1.IT技术.项目类网站 (1)首推CodeProject,一个国外的IT网站,官网地址为:http://www.codeproject.com,这个网站为程序开发者提供了很好的代码示例以及讲解,不过 ...
- mysql 日期和时间戳互换
1.日期转时间戳 UNIX_TIMESTAMP('2019-06-25 12:30:00') 2.时间戳转日期 FROM_UNIXTIME(1545711900,'%Y-%m-%d') 3. DAT ...
- 更换nginx默认端口以及配置文件位置
前言 近段时间在准备毕业设计的前期准备,基本确定了前后端分离的架构,于是就需要用到了nginx. 在之前nginx是放在docker上,所以没有端口更改跟配置文件配置的烦恼.但是现在是直接放在服务器上 ...
- rem 布局代码
根据设计稿的高度,除以相对应的数字 <script type="text/javascript"> // 把尺寸放大N倍(N是window.devicePixelRat ...
- SpringCloud-技术专区-Zuul-使用指南
Zuul作为微服务系统的网关组件,用于构建边界服务,致力于动态路由.过滤.监控.弹性伸缩和安全. Zuul功能 认证 压力测试 金丝雀测试 动态路由 负载削减 安全 静态响应处理 主动/主动交换管理 ...
- HashSet、LinkedHashSet、TreeSet的区别
HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放: LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代: Tree ...
- join(long)方法和sleep(long)方法的比较
join(long)方法的源代码 public final synchronized void join(long millis) throws InterruptedException { long ...