Spring Cloud系列(二):Eureka应用详解

一、注册中心   1、注册中心演变过程

Spring Cloud系列(二):Eureka应用详解

   2、注册中心必备功能

  ① 服务的上线

  ② 服务的下线

  ③ 服务的剔除

  ④ 服务的查询

  ⑤ 注册中心HA

  ⑥ 注册中心节点数据同步

  ⑦ 服务信息的存储,比如mysql,redis,zookeeper,内存map等

  3、RPC远程调用过程

Spring Cloud系列(二):Eureka应用详解

  ① 负载均衡策略:随机,轮询,一致性Hash等;

  ② 容错机制:失败重试,失败自动切换等;

  ③ 透明代理: 调用远程方法跟调用本地的方法一样;

  ④ 协议: 双方约定好的协议,比如http协议,dubbo协议等;

  ⑤ 协议编解码:按照指定的协议进行编解码;

  ⑤ 序列化反序列化:网络传输的都是流,分字节流和字符流,所以需要对传输的数据做序列化,接收的流做反序列化;

  ⑥ 网络传输: 知道对方的ip+port就可以建立网络连接也就是socket连接,然后可以发起网络请求和接收对应的响应;

  ⑦ 线程池:io线程负责io连接,读取事件,等读取完成后交给线程池去处理相应的业务,类似netty的reactor模型;

二、Eureka详解   1、Eureka核心的Rest Api接口列表 请求名称   请求方式   HTTP地址   请求描述  
注册服务   POST   /eureka/apps/{appID}   传递JSON或者XML格式的参数内容,HTTP code为204表示成功  
删除服务   DELETE   /eureka/apps/{appID}/{instanceID}    HTTP code为200时表示成功  
发起心跳    PUT    /eureka/apps/{appID}/{instanceID}    HTTP code为200时表示成功  
 查询服务    GET    /eureka/apps    HTTP code为200时表示成功,返回XML/JSON数据  
 查询指定appID的服务列表    GET    /eureka/apps/{appID}    HTTP code为200时表示成功,返回XML/JSON数据  
 查询指定appID&instanceID的服务    GET    /eureka/apps/{appID}/{instanceID}    获取指定appID以及instanceID的服务信息,HTTP code为200时表示成功,返回XML/JSON数据  
 查询指定instanceID服务列表    GET    /eureka/apps/instances/{instanceID}    获取指定instanceID的服务信息,HTTP code为200时表示成功,返回XML/JSON数据  
 变更服务状态    PUT    /eureka/apps/{appID}/{instanceID}/status?value=DOWN    服务上线、服务下线等状态改变,HTTP code为200时表示成功  
   2、Eureka服务端和客户端   2.1 搭建Eureka服务端

  第一步:加依赖

<!--netflix-eureka-server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxypp.html