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 ...
随机推荐
- Struts1.3——Struts标签
1.struts标签的介绍 Struts框架提供了一组非常丰富的框架组件,同时也提供了一组标签库用于和这些组件交互,主要介绍以下三类: html标签 bean标签 logic标签 2.Html标签库 ...
- <读书笔记>《高性能网站建设指南:前端工程师技能精髓》
只有10-20%的最终用户响应时间花在了下载HTML文档上.其余的80-90%时间花在了下载页面中的所有组件上. 规则1.减少HTTP请求 图片地图:将多个图片合并成一个,而后通过css定位显示不同的 ...
- UVA
A network is composed of N computers connected by N - 1 communication links such that any two comput ...
- js基本函数和基本方法
日期时间函数(需要用变量调用): var b = new Date(); //获取当前时间 b.getTime() //获取时间戳 b.getFullYear() //获取年份 b.getMonth( ...
- Head First PHP &MySQL学习笔记
最近一段时间在学习PHP,买了<Head First PHP&MySQL>中文版这本书,之前买过<Head First设计模式>,感觉这系列的书籍总体来说很不错. ...
- 转 MySQL乐观锁和悲观锁
悲观锁(Pessimistic Lock) 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.传统的关系型数据库 ...
- 深海Django少年
orm查询,如果遇到我之前的环境报错 就可去manage.py中拷贝前四行代码到tests文件中,然后增加两行代码: import django django.setup() 或者任意新建一个py文件 ...
- 四、hibernate的缓存
缓存: 就是将数据保存到内存中,需要使用时直接从内存中获取,不需要每次查询数据库或者磁盘中的文件 hibernate的缓存 一级缓存:Session级别的缓存 二级缓存:SessionFactory级 ...
- Cobalt Strike特征修改
一.Teamserver模块端口信息 vim teamserver修改Cobalt Strike默认服务端50500端口为其他任意端口 二.SSL默认证书信息 Cobalt Strike默认SSL证书 ...
- Nginx基础优化
Nginx基础优化 1.隐藏nginx header版本号 1.1查看版本号 [root@Nginx ~]# curl -I http://www.yunwei.cn HTTP/1.1 200 OK ...