做网站在图片里加文字,地方型旅游网站,网站上加一个浮动小框怎么做,wordpress 邮件订阅插件一、导引
服务调用出现的问题
服务调用采取的请求地址是静态的#xff0c;当我们使用服务集群时#xff0c;很容易造成只能调用固定的微服务上的接口。多个提供者#xff0c;消费者的使用对象无法确定消费者无法得知提供者的状态
二、Eureka注册中心
#xff08;一当我们使用服务集群时很容易造成只能调用固定的微服务上的接口。多个提供者消费者的使用对象无法确定消费者无法得知提供者的状态
二、Eureka注册中心
一作用
消费者如何获取服务提供者具体信息 服务提供者启动时向eureka注册自己的信息eureka保存提供者信息消费者根据服务名称向eureka拉取提供者信息 如果有多个服务提供者消费者该如何选择 服务消费者利用负载均衡算法从服务列表中挑选一个 消费者如何感知服务提供者健康状态 服务提供者每隔30s向EurekaServer发送心跳请求报告健康状态eureka更新记录服务列表信息心跳不正常会被剔除消费者拉取最新信息
二、搭建Eureka注册中心
1、引入spring-cloud-starter-netflix-eureka-server
dependencygourpIdorg.springframework.cloud/gourpIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId
/dependency2、编写启动类添加EnableEurekaServer注解 3、添加application.yml
server:port: 10080 #服务端口spring:application:name: eurekaserver #服务名称
eureka:client:serverice-url:defaultZone: http://127.0.0.1:10080/eureka/ #地址信息三服务注册
1、添加eureka客户端依赖
dependencygroupIdorg.springframework.cloud/groupIdartifactIdsprin-cloud-starter-netflix-eureka-client/artifactId
/dependency2、在提供者的配置文件中添加配置信息
server:port: 10080 #服务端口spring:application:name: userservice#服务名称
eureka:client:serverice-url:defaultZone: http://127.0.0.1:10080/eureka/ #地址信息四服务拉取
服务拉取是基于服务名称获取服务列表容纳后对服务列表做负载均衡.。
1、修改Service实现类访问路径改为String url 服务名 order.getUserId
2、对RestTemplate添加负载均衡注释
Bean
LoadBalanced //负载均衡
public RestTemplate restTemplate(){return new RestTemplate();
}五Ribbon 负载均衡
1、负载均衡的原理
负载均衡流程 Ribbon负载均衡实现过程
2、负载均衡的策略 IRule
1负载均衡策略表
内置负载均衡规则类规则描述RoundRobinRule简单轮询服务列表来选择服务器。默认AvailabilityFilteringRule对以下两种服务器忽略1在默认情况下服务器如果3次连接失败则被设置为“短路”。“短路”状态将持续30s若无法连接则增加短路持续时间。 2并发数过高的服务器。如果一个服务器的并发连接数过高配置了AvailabilityFilteringRule规则的客户端也会将其省略并发连接数上限可由客户端的【clientName】、【clientConfigNameSpace】、【ActiveConnectionsLimit】进行配置 WeightedResponseTimeRule为每一个服务器赋予一个权重值。服务器响应时间越长这个服务器的权重越小。这个规则会随机选择服务器这个权重会影响服务器的选择。ZoneAvoidanceRule以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类这个Zone可以理解一个机房一个机架等。而对Zone内多个服务做轮询。BestAvailablerRule忽略短路服务器并选择并发数较低的服务器RandomRule随机选择一个可用服务器 RetryRule重试机制的选择逻辑
2负载均衡规则修改
方式一在启动类中定义一个新的IRule
Bean
public IRule randomRule(){return new RandomRule();
}方式二在配置文件中修改规则
userservice:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #随机负载均衡规则3、饥饿加载
Ribbon默认采用 懒加载即【第一次访问时才会去创建LoadBalanceClient】请求时间会很长。
1饥饿加载的作用 在项目启动时创建降低第一次访问的耗时。 2配置饥饿加载
ribbon:eager-load:enabled: true #开启饥饿加载clients: - userservice #指定多个服务进行饥饿加载- XXservice