eureka和zookeeper区别:
-
eureka:
- 强调AP(可用性)
- 集群构造: 对等构造
-
zookeeper:
- 强调CP (一致性)
- 集群构造: 主从构造
服务提供者
批改host文件,增加eureka1和eureka2的映射配置C:\Windows\System32\drivers\etc
127.0.0.1 eureka1
127.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: 连贯已建设,申请已发送,期待响应的超时工夫
发表回复