美文网首页后端技术
微服务选择之迷思

微服务选择之迷思

作者: 技术与健康 | 来源:发表于2019-01-29 17:03 被阅读10次

    触发要做服务化的主要原因会是这三个:
    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的超时时间,快速失败,结束重试。

    相关文章

      网友评论

        本文标题:微服务选择之迷思

        本文链接:https://www.haomeiwen.com/subject/iagxsqtx.html