SpringClou 第二章 高可用的服务注册中心

服务注册中心注册服务、发现服务,只有一个注册中心的时候,当这个服务宕机之后。整个系统瘫痪。所有我们应该搭建高可用的服务注册中心。

集群就是很好的选择。当其中一个挂掉之后,还有其他注册中心提供。

修改第一章中的配置文件
application.yml配置

spring:
  application:
    name: eureka
  profiles:
    active: server1

集群最少也搭建三个服务
配置application-server1.yml

server:
  port: 20001
eureka:
  instance:
    hostname: server1
  client:
    # 表示是否注册自身到eureka服务器
    register-with-eureka: false
    # 是否从eureka上获取注册信息
    fetch-registry: false
    service-url:
      defaultZone: http://server2:20002/eureka/,http://server3:20003/eureka/

service-url:defaultZone: 配置是把server1服务注册到server2和server3中,这样就可以通过server2和server3发现server1中的服务。
新建application-server2.yml和application-server3.yml,配置同server1.

idea中配置分别以不同的端口启动的方式
在这里插入图片描述
不同的端口只需要修改program arguments 就可以了。
分别启动服务server1 、server2 、server3
在这里插入图片描述
server1中已经注册了server2和server3。server2和server3也是一样的。一个高可用的服务注册中心就配置完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Spring Cloud进行服务调用时,可能会遇到服务调用超时的情况。这种情况通常是由于网络延迟、服务负载过高或服务提供者响应时间过长等原因导致的。 要处理服务调用超时问题,可以通过以下几种方式来进行优化: 1. 调整超时时间:在使用Spring Cloud的Feign或RestTemplate进行服务调用时,可以通过设置超时时间来延长等待响应的时间。可以通过配置文件或代码来设置超时时间,例如: - 对于Feign客户端,可以在配置文件中设置`feign.client.config.<clientName>.connectTimeout`和`feign.client.config.<clientName>.readTimeout`来分别设置连接超时和读取超时时间。 - 对于RestTemplate,可以通过设置`RestTemplate`实例的`setConnectTimeout`和`setReadTimeout`方法来分别设置连接超时和读取超时时间。 需要根据具体情况来调整超时时间,确保足够长以处理预期的响应时间。 2. 使用断路器:Spring Cloud提供了断路器模式,例如Netflix Hystrix,用于处理服务调用的故障和超时。通过使用断路器,可以在服务调用失败或超时时提供备用响应,避免整个请求链路被阻塞。可以在Feign客户端或RestTemplate中使用断路器来处理服务调用超时。 3. 负载均衡策略:如果服务调用超时是由于服务负载过高导致的,可以考虑使用负载均衡策略来分散请求。Spring Cloud提供了多种负载均衡器,例如Ribbon,可以在服务调用时自动选择可用的服务实例。通过合理配置负载均衡策略,可以有效降低服务调用超时的概率。 4. 优化服务响应时间:如果服务提供者的响应时间过长,可以考虑对服务进行性能优化。例如,通过优化数据库查询、缓存数据、使用异步处理等方式来提高服务的响应速度。通过减少服务的响应时间,可以有效降低服务调用超时的概率。 综上所述,通过调整超时时间、使用断路器、优化负载均衡策略和优化服务响应时间等方法,可以有效处理Spring Cloud服务调用超时的问题。需要根据具体情况选择合适的优化方案,并进行适当的性能测试和监控来验证优化效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值