博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springCloud值Eureka
阅读量:5037 次
发布时间:2019-06-12

本文共 1491 字,大约阅读时间需要 4 分钟。

Spring Cloud特点

约定优于配置

开箱即用、快速启动

适用于各种环境      PC Server  云环境  容器(Docker)

轻量级的组件  服务发现Eureka

组件的支持很丰富,功能很齐全     配置中心  注册中心  智能路由

选型中立   服务发现  Eureka  Zookeeper  Consul

 

关于Spring Cloud的版本

大部分spring软件的版本是以:主版本.次版本.增量版本.里程碑版本的形式命名

Spring Cloud Angel SR6???

 

Why Eureka?

Eureka来自生产环境

Spring Cloud对Eureka支持很好    https://github.com/netflix/eureka

 

Eureka简介

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。

Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务发现功能。

Eureka 项目相当活跃,代码更新相当频繁,2.0会带来更好的扩展性,并且使用细粒度的订阅模型取代了基于拉取的模型。

 

Eureka 原理

Region和Zone的关系 

- Application Service 就相当于本书中的服务提供者(用户微服务),Application Client就相当于本书中的服务消费者(电影微服务);

- Make Remote Call,可以简单理解为调用RESTful的接口
- us-east-1c、us-east-1d等是zone,它们都属于us-east-1这个region
 
Eureka包含两个组件:Eureka Server 和 Eureka Client
 
Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,

服务节点的信息可以在界面中直观的看到。

 
Eureka Client是一个Java客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
 
在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务

注册表中把这个服务节点移除(默认90秒)。

 
Eureka Server之间将会通过复制的方式完成数据的同步。
 
Eureka还提供了客户端缓存的机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API
 
综上,Eureka通过心跳检测、健康检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

 

服务注册表

服务注册表是一个记录当前可用服务实例的网络信息的数据库,是服务发现机制的核心。服务注册表提供查询API和管理API,使用查询API获得可用的服务实例,使用管理API实现注册和注销

服务注册:就是服务启动时,将服务的网络地址注册到服务注册表中

健康检查:服务发现组件会通过一些机制定时检测已注册的服务,如果发现某服务无法访问了(可能是某几个心跳周期后),就将该服务从服务注册表中移除。

 

 

转载于:https://www.cnblogs.com/escapist/p/9073949.html

你可能感兴趣的文章
炜煌E30 E31微型热敏打印机 STM32 串口驱动
查看>>
Swift 2 有哪些新特性
查看>>
[js]变量与数据类型篇
查看>>
[BZOJ2054] 疯狂的馒头 并查集
查看>>
js 正则表达式
查看>>
Eclipse新建Web应用,Server端口(8080,8005,8009)被占用解决办法
查看>>
Android Content Provider Guides
查看>>
线程结束的正确方式
查看>>
信息安全
查看>>
centos7防火墙查看、启动、停止、添加、移除端口
查看>>
solr添加IK分词和自己定义词库
查看>>
mysql 日志
查看>>
在ASP.net中实现一个万能的“返回”按钮。
查看>>
HTML简介
查看>>
android可能遇到问题,以及找到的解决方法小总结!
查看>>
npm安装cnpm、vue、react
查看>>
通过adb命令打印log
查看>>
error rabbitMQ:Error: unable to perform an operation on node 'rabbit@xxxx'.
查看>>
js倒计时
查看>>
JSON数据检测是否正确
查看>>