美文网首页
构架微服务时各个服务需要遵守的通用规则

构架微服务时各个服务需要遵守的通用规则

作者: 每天学点编程 | 来源:发表于2018-02-10 19:10 被阅读138次

    识别出各个服务需要遵守的通用规则

    做取舍时,需要注意一个很重要的因素:系统允许多少可变性。

    需要识别出各个服务需要遵守的通用规则,清楚地定义出一个好服务应有的属性。

    “系统应该由很多小的但有自治生命周期的组件构成,而且这些组件之间有着紧密的关联”。所以在优化单个服务自治性的同时,也要兼顾全局。

    各个服务需要遵守的通用规则——监控

    健康状态必须在系统级别而非单个服务级别进行考虑。

    建议确保所有的服务使用同样的方式(标准化)报告健康状态及其与监控相关的数据。
    日志功能和监控情况类似:也需要集中式管理。

    各个服务需要遵守的通用规则——明确接口

    选用少数几种明确的接口技术

    • 关于接口的技术和协议
    • 接口的具体细节
      如选用了HTTP/REST,规定好URL中使用动词还是名词,如何处理资源的分页,如何处理不同版本的API。

    各个服务需要遵守的通用规则——架构安全性

    一个运行异常的服务可能会毁了整个系统,所以,必须保证每个服务都可以应对下游服务的错误请求。
    没有很好处理下游错误请求的服务越多,系统就会越脆弱。

    各个服务需要遵守的通用规则——架构安全性——措施

    可以让每个下游服务使用它们自己的连接池,进一步让每个服务使用一个断路器。

    断路器依赖的返回码应该遵守一定的规则。

    对以下几种请求做不同的处理可以帮助系统及时失败,并且也很容易追溯问题
    (1)正常并且被正确处理的请求;(2)错误请求,并且服务识别出了它是错误的,但什么也没做;(3)被访问的服务宕机了,所以无法判断请求是否正常。
    请关注我的微信公众号

    个人微信公众号

    技术交流群 (仅作技术交流):642646237

    ​请关注我的头条号:

    相关文章

      网友评论

          本文标题:构架微服务时各个服务需要遵守的通用规则

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