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
EurekaClientConfigBean
Eureka 客户端配置 APIEurekaInstanceConfigBean
Eureka 实例配置 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 ...
随机推荐
- python模块学习之HTMLTestRunner模块生成HTML测试报告
#!/usr/bin/env python #-*- coding:utf-8 -*- from HTMLTestRunner import HTMLTestRunner import time im ...
- gradle打成jar包报错 "错误: 找不到或无法加载主类 App"(已经配置过主类)
文章目录 将gradle打成jar包(包括依赖) 运行jar包 报错 原因(src自己手动创建的) 解决(添加src目录) 将gradle打成jar包(包括依赖) jar { manifest { a ...
- 27. Unittest单元测试框架的介绍与使用
unittest单元测试框架 先贴一下unittest官网地址.unittest文档开头介绍了四个重要的概念:test fixture,test case, test suite, test runn ...
- bootstrap Grid布局(网格布局)
基本网络结构 <div class="container"> <div class="row"> <div class=" ...
- java 并发——ReentrantLock
java 并发--ReentrantLock 简介 public class ReentrantLock implements Lock, java.io.Serializable { // 继承了 ...
- helm-mode打开文件支持中文搜索
helm-mode打开文件支持中文搜索 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #83949 ...
- Codesforces 485D Maximum Value
D. Maximum Value You are given a sequence a cons ...
- 算法竞赛模板 KMP
KMP算法图解: ① 首先,字符串“BBC ABCDAB ABCDABCDABDE”的第一个字符与搜索词“ABCDABD”的第一个字符,进行比较.因为B与A不匹配,所以搜索词后移一位. ② 因为B与A ...
- 2019南昌邀请赛预选赛 I. Max answer (前缀和+单调栈)
题目:https://nanti.jisuanke.com/t/38228 这题题解参考网上大佬的. 程序的L[i],R[i]代表a[i]这个点的值在区间 [L[i],R[i]] 中最小的并且能拓展到 ...
- JavaScript代码/ES6语法笔记一
1. new Set()/去重一个数组 let arr = [1, 2, 2, 3, 3]; let set = new Set(arr); let newArr = Array.from(set); ...