Spring Cloud Netflix Eureka
目录
1 Spring Cloud 简介
1 Netflix 简介
2 Spring Cloud 框架结构
3 Spring Cloud 和 Dubbo 的对比
4 Spring Cloud 版本号说明
5 Spring Cloud Netflix Eureka
一、 Eureka 简介
1 Eureka 组件
1.1 Eureka Server
1.2 Eureka Client
1.2.1 Application Service
1.2.2 Application Client
2 Eureka 和 Zookeeper 对比
1 什么是 CAP 定理
2 基于 CAP 定理比对 Eureka 和 Zookeeper
二 搭建 Eureka 注册中心
1 POM 文件
2 配置文件 application.yml
3 启动类
4 访问 Eureka Server WEB 服务管理平台
三 Eureka 服务管理平台介绍
1 Eureka Server 服务管理平台访问预览
四 搭建高可用集群
1 在 Eureka 应用中定义多环境配置
五 集群原理
1 Eureka 集群架构原理图
六 Eureka 优雅停服
1 自我保护模式
2 为什么要自我保护
3 关闭自我保护
1 Spring Cloud 简介
1 Netflix 简介
2 Spring Cloud 框架结构
3 Spring Cloud 和 Dubbo 的对比
对比内容 |
Dubbo |
Spring Cloud |
|
出身 |
阿里系 核心框架是服务化治理 |
Spring 社区 核心框架是 Netflix 开源微服务架构群体 |
|
文档 |
集中,健全,中文 |
较多,内容大部分是英本版 |
|
性能 |
Dubbo 的性能大约是 Spring Cloud 的 2~3 倍 |
||
功能 |
服务注册中 心 |
zookeeper |
Spring Cloud Netflix Eureka |
服务调用方 式 |
RPC |
REST API |
服务网关 |
无 |
Spring Cloud Netflix Zuul |
|
断路由 |
集群容错 |
Spring Cloud Netflix Hystrix |
|
分布式配置 |
无 |
Spring Cloud Config |
|
服务跟踪 |
无, monitor |
Spring Cloud Sleuth |
|
消息总线 |
无 |
Spring Cloud Bus |
|
数据流 |
无 |
Spring Cloud Stream |
|
批量任务 |
无 |
Spring Cloud Task |
4 Spring Cloud 版本号说明
5 Spring Cloud Netflix Eureka
一、 Eureka 简介
1 Eureka 组件
1.1 Eureka Server
1.2 Eureka Client
1.2.1 Application Service
1.2.2 Application Client
2 Eureka 和 Zookeeper 对比
1 什么是 CAP 定理
分布式系统 CAP 定理 |
|
C 数据一致性 (Consistency) /kənˈsɪstənsi/ |
也叫做数据原子性 系统在执行某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读到最新的值, 这样的系统被认为是具有强一致性的。等同于所有节点访问同一份最新的数据副本。 优点: 数据一致,没有数据错误可能。 缺点: 相对效率降低。 |
A 服务可用性 (Availablity) /əveɪləbɪləti/ |
每一个操作总是能够在一定的时间内返回结果,这里需 要注意的是"一定时间内"和"返回结果"。一定时间内指的是, 在可以容忍的范围内返回结果,结果可以是成功或者是失败。 |
P 分区容错性 (Partition-torlerance) /pɑːrˈtɪʃn/ /ˈtɑːlərəns/ |
在网络分区的情况下,被分隔的节点仍能正常对外提供 服务(分布式集群,数据被分布存储在不同的服务器上,无论什么情况,服务器都能正常被访问) |
定律:任何分布式系统只可同时满足二点,没法三兼顾 |
|
CA,放弃 P |
如果想避免分区容错性问题的发生,一种做法是将所有的数据(与事务相关的)/服务都放在一台机器上。虽然无法100%保证系统不会出错,但不会碰到由分区带来的负面效 果。当然这个选择会严重的影响系统的扩展性。 |
CP,放弃 A |
相对于放弃"分区容错性"来说,其反面就是放弃可用性。一旦遇到分区容错故障,那么受到影响的服务需要等待一定 时间,因此在等待时间内系统无法对外提供服务。 |
AP,放弃 C |
这里所说的放弃一致性,并不是完全放弃数据一致性, 而是放弃数据的强一致性,而保留数据的最终一致性。以网络购物为例,对只剩下一件库存的商品,如果同时接受了两 个订单,那么较晚的订单将被告知商品告罄。 |
2 基于 CAP 定理比对 Eureka 和 Zookeeper
对比项 |
Zookeeper |
Eureka |
描述 |
CAP |
CP |
AP |
ZooKeeper 分布集群是使用主从模型实现的。在一个时间点上, 只有一个 leader 真正的对外提供服务。其他的follower 都会实时备份leader 中 的 数 据 , 当leader 宕机,则 follower 选举出新的 leader 对外提供服务。 Eureka 分布集群是平等模型(无主模型) 所有的节点都是平等的,客户端访问任意节点都可以提供实时的服务响应。如果某节点发送宕机等故障,接收到的请求会转交给其他的节点。无主模型,每个 节点的数据可能不实时 |
一致,节点需要通过网络通讯从其他节点获取数据,并实现数据的一致。可能有网络延迟或网络故障或通讯频率问 题。 |
|||
Dubbo 集成 |
已支持 |
- |
Dubbo 开发的时候不需要考虑注册中心选择。 Spring Cloud 中推荐使用Eureka 作为注册中心,Eureka 是由Spring Cloud 子 项 目spring-cloud-netflix 集成的。是 Spring Cloud 中的一个组件,会有针对性的服务提供和发现组 件。 |
Spring Cloud 集成 |
已支持 |
已支持 |
|
kv 服务 |
支持 |
- |
ZK 支持数据存储 eureka 不支持 |
使用接口 (多语言能力) |
提供客户端 |
http 多语言 |
ZK 的跨语言支持 比较弱 |
watch 支持 |
支持 |
支持 |
什 么 是 Watch 支持?就是客户端监听服务端的变化情况。 zk 通过订阅监听来 实现 eureka 通过轮询的方式来实现 |
集群监控 |
_ |
metrics |
metrics,运维者可以收集并报警这些度量 信息达到监控目的 |
二 搭建 Eureka 注册中心
1 POM 文件
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version></parent><groupId>com.bjsxt</groupId><artifactId>cloudeureka</artifactId><version>1.0-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
2 配置文件 application.yml
3 启动类
4 访问 Eureka Server WEB 服务管理平台
三 Eureka 服务管理平台介绍
1 Eureka Server 服务管理平台访问预览
四 搭建高可用集群
1 在 Eureka 应用中定义多环境配置
1.2 application-eureka2.yml
五 集群原理
1 Eureka 集群架构原理图
六 Eureka 优雅停服
1 自我保护模式
2 为什么要自我保护
3 关闭自我保护
Spring Cloud Netflix Eureka相关推荐
- Spring Cloud Netflix Eureka 配置参数说明
为什么80%的码农都做不了架构师?>>> Eureka Client 配置项(eureka.client.*) org.springframework.cloud.netfli ...
- Spring Cloud Netflix Eureka client源码分析
1.client端 EurekaClient提供三个功能: EurekaClient API contracts are: * - provide the ability to get Instanc ...
- 【系统架构理论】一篇文章精通:Spring Cloud Netflix Eureka
是官方文档的总结 http://spring.io/projects/spring-cloud-netflix#overview 讲解基于2.0.2版本官方文档 https://cloud.sprin ...
- Spring Cloud -> Spring Cloud Netflix Eureka快速搭建(一)
前言:不忘初心,寻找最初的编程快感! 1.简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转 ...
- Spring Cloud Netflix尤里卡
本教程是关于Spring云Netflix Eureka的. 在这里,我们将创建eureka发现服务器和微服务,这些服务本身将注册到发现服务器和使用netflix客户端API的客户端中,以使用示例示例来 ...
- Spring Cloud Netflix五大组件简介
微服务与微服务架构 微服务的优缺点 优点 缺点 Dubbo与Spring Cloud Spring Cloud Netflix Eureka Eureka的自我保护机制 Eureka和ZooKeepe ...
- 《Spring Cloud Netflix官方文档》2. 服务发现:Eureka服务器
2. 服务发现:Eureka服务器 2.1 如何创建Eureka服务器 引用org.springframework.cloud的spring-cloud-starter-eureka-server就可 ...
- 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端
1. 服务发现:Eureka客户端 服务发现是微服务架构的关键原则之一.使用手动配置或一些约定方式来处理多服务多实例的方式是非常困难,并且十分脆弱的.Eureka同时是Netflix服务发现的 ...
- Spring Cloud Netflix之Eureka上篇
前言:Spring Cloud NetFlix这个项目对NetFlix中一些久经考验靠谱的服务发现,熔断,网关,智能路由,以及负载均衡等做了封装,并通过注解的或简单配置的方式提供给Spring Clo ...
- Spring Cloud Netflix项目进入维护模式之我见
这两天看到一则新闻:https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now#spring-cloud-ne ...
最新文章
- 动态数组怎么定义_Excel VBA 数组基础知识,初学者不可不学的关键知识
- Day 07 艺术家是靠天赋还是努力
- wxWidgets:显示 wxTreeListCtrl 的示例
- python排序之sort和sorted
- java动态代理技术
- [转载]C#多线程学习(一) 多线程的相关概念
- 字体的成本:按字算,微软是100美元
- 新车「智能化+安全」进入纵深区,艾拉比OTA成高频词
- linux之sort,unip,cut
- tools-centos-基本配置
- ServiceAccounts 及 Secrets 重大变化
- Python非线性拟合自定义函数参数(对标MATLAB-nlinfit函数)
- 1月书单 2月新书预告 | 百万册畅销书全新续作来啦
- Monaco-Editor 多人协作 编辑器
- javascript实现数字补全不足补零
- Android中的进程间通信(IPC机制)
- Java 求100以内的质数
- 【学习笔记】AD智能PDF导出(装配文件)
- 高德地图点击获取经纬度并标记
- 深度剖析E680G开发二.交叉编译BusyBox与图形化程序