微服务选择之迷思

触发要做服务化的主要原因会是这三个:
http://blog.sina.com.cn/s/blog_42a0e25b0102wfyv.html

  1. 底层例如数据库连接到达上限

系统共用的底层资源在随着机器增加的越来越多时,一定会成为瓶颈,这种情况下服务化会带来帮助,当系统逻辑变简单的情况下,吞吐量自然也比较容易上升,这个时候使用底层资源的机器数自然可以大幅下降。

  1. 开发人员规模庞大

当开发人员规模变大(100个左右)时,众多人共同维护一个系统会变得不可行,这个时候服务化可以产生巨大帮助,也会成为必须做的事情。

  1. 业务多元化,共享的业务逻辑多

RPC VS 消息 同步 VS 异步

FeignClient 和 Ribbon重试区别与联系:
原文:https://blog.csdn.net/woshilijiuyi/article/details/78959759
疑问:一个http请求,如果feign和ribbon都配置了重试机制,异常情况下一共会请求多少次?
经过上面的分析,请求总次数 n 为feignClient和ribbon配置参数的笛卡尔积:
n(请求总次数)=feign(默认5次) * (MaxAutoRetries+1) * (MaxAutoRetriesNextServer+1)
注意:+1是代表ribbon本身默认的请求。

其实二者的重试机制相互独立,并无联系。但是因为用了feign肯定会用到ribbon,所以feign的重试机制相对来说比较鸡肋,自己feignClient的时候一般会关闭该功能。ribbon的重试机制默认配置为0,也就是默认是去除重试机制的,建议不要修改。如果配置不当,会因为幂等请求带来数据问题。所以建议关闭二者的重试功能。
如果开启的话,建议合理配置Hystrix的超时时间,在一些没必要的重试请求执行时,根据Hystrix的超时时间,快速失败,结束重试。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容