eureka和zookeeper区别:

  • eureka:

    • 强调AP(可用性)
    • 集群构造: 对等构造
  • zookeeper:

    • 强调CP (一致性)
    • 集群构造: 主从构造

服务提供者

批改host文件,增加eureka1和eureka2的映射配置
C:\Windows\System32\drivers\etc

127.0.0.1 eureka1127.0.0.1 eureka2

批改02、03、04这三个我的项目
1.增加eureka client 依赖

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>        spring-cloud-starter-netflix-eureka-client    </artifactId></dependency>
<dependencyManagement>       <dependencies>           <dependency>               <groupId>org.springframework.cloud</groupId>               <artifactId>spring-cloud-dependencies</artifactId>               <version>Hoxton.SR9</version>               <type>pom</type>               <scope>import</scope>           </dependency>       </dependencies>   </dependencyManagement>

2.yml配置eureka的注册链接地址: http://eureka1:2001/eureka

eureka:  client:    service-url:      defaultZone: http://eureka1:2001/eureka
单台eureka 服务器启动后报错: Connect to localhost:8761 timed out
这是主动配置的一个默认集群服务器,然而这默认服务器不存在,所以出错
前面搭建了集群服务,默认服务器就不会再主动配置

sp02商品,和sp05 eureka 集群

在另一个端口在启动一个商品服务

java -jar item.jar # 依据application.yml的配置启动# 指定端口启动java -jar item.jar --server.port=8002 #命令行参数能够笼罩yml配置

近程调用

RestTemplate

springboot 提供的近程调用工具
相似于 HttpClient,能够发送http申请,并解决响应.RestTemplate简化了Rest API调用,只须要应用它的一个办法,就能够实现申请、响应、Json转换

办法:

  • getForObject(url,转换的类型.class,提交的参数)
  • postForObject(url,协定提数据,转换的类型.class)

RestTemplate和Dubbo近程调用的区别:

  • RestTemplate:

    • http调用
    • 效率低
  • Dubbo:

    • Rpc调用,Java的序列化
    • 效率高

Ribbon

Springcloud集成的工具,作用是负载平衡,和重试

负载平衡

Ribbon 对RestTemplate 做了封装,加强了RestTemplate的性能    1.取得地址表    2.轮询一个服务的主机地址列表    3.RestTemplate负责执行最终调用增加负载平衡    1.ribbon依赖    2.@LoadBalanced注解,对RestTemplate进行性能加强    3.批改调用地址,应用服务di,而不是具体主机地址

Ribbon重试

一种容错机制,当调用近程服务失败,能够主动重试调用,客户端不晓得重试

增加重试:

1.增加spring-retry依赖2.配置重试参数    1.在yml中配置    MaxAutoRetries: 单台服务器的重试次数     MaxAutoRetriesNextServer: 更换服务器的次数    2.在java代码中设置    ConnectTimeout: 与近程服务建设网络连接的超时工夫    ReadTimeout: 连贯已建设,申请已发送,期待响应的超时工夫