SpringCloud 熔断器导致的服务不可访问解决方案

技术栈

springcloud 微服务
ribbon 负载均衡
hystrix 断路器
zuul 网关
eureka 服务发现
mybatis 数据层
feign 服务通信
config 配置中心

碰到的问题
  • 数据库数据超过百万
    用了Spring Cloud技术栈来构建微服务架构的系统,平时正常QA测试没发现什么大毛病,感觉性能还不错,一切都很完美。
    然后系统就这么上线了,一开始用户规模很小,注册用户量小几十万,日活几千用户。
    每天都有新的数据进入数据库的表中,就这么日积月累的,没想到数据规模居然慢慢吞吞增长到了单表几百万。
    这个时候呢,看起来也没太大的毛病,就是有用户反映,系统有些操作,会感觉卡顿几秒钟,会刷不出来页面。

分析原因:

  1. 核心表数据量太大,有几百万数据量。
  2. 部分服务的sql复杂,很多关联查询。
  3. 数据库索引未管理好,SQL没有审核,导致几百行的sql。
  4. 代码未优化,一个方法几百行代码,嵌套循环一堆堆的。

当时的解决方案
Feign + Ribbon组成的服务调用框架,是有接口调用超时这一说的,有一些参数可以设置接口调用的超时时间。如果你调用一个接口,好几秒刷不出来,人家就超时异常返回,用户就刷不出来页面了。

	ribbon:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值