微服务框架需要考虑哪些治理环节?

微服务框架需要考虑哪些治理环节?

如果一个公司的微服务多了,需要有管理和治理。今天给大家介绍一下服务治理环节,一个好的微服务体系需要关注哪些治理环节。


微服务治理drawio.png

服务注册发现

首先,我们的微服务框架需要注册服务发现,微服务当中有很多服务,几十个甚至上百个,他们之间有错综复杂的依赖关系。这个时候就存在消费者怎么去发现我们的服务的生产者。这个就是服务注册和发现要解决的问题。

服务的负载均衡

为了应对大的流量我们的服务一般是多份部署,这个时候就存在负载均衡。另外我能服务需要路由这个能力非常重要,如果我们需要支持灰度发布、蓝绿发布这种机制。那需要我们微服务治理需要考虑他的软路由的实现。

监控相关的环节-日志

首先是微服务日志监控,日志对于我们后期排错,定位问题是非常关键的。我们少的一套监控框架需要集成我们日志监控。

Metrics

如果我们要对服务的对服务的延迟进行监控、请求数量QPS监控等,通过Metrics进行数据采集操作。

调用链监控

微服务存在错综复杂的调用关系,像一个网状结构一样。如果我们有一套好的调用链监控,开发人员很容易帮助我们快速定位问题。

限流熔断

微服务是一个分布式系统,如果没有好的限流熔断措施,如果某个服务出现故障或者延迟,有可能导致整个系统瘫痪,这就是微服务的限流熔断存在的意义。避免一个系统故障导致整个系统瘫痪。

安全和访问控制机制

有些服务我们并不需要所有人都能够进行访问,比如说设计到敏感信息的系统如:用户系统。需要我们有安全策略,如黑白名单,访问控制策略。来限制对这些服务的访问。

RPC/REST

好的一个微服务框架是可以同时支持REST、RPC调用的。不同的通信方式有不同的场景,如果你的框架可以支持配置不同的通信方式的话会更加灵活。

序列化

建议做到支持XML、JSON、高性能的二进制等。

代码生成

在大规模开发的时候,比较推崇契约驱动的开发模式。在大规模开发的时候生成的代码比较规整。

统一异常处理

我们希望服务治理环节,具备统一异常处理的能力,这样的话异常信息比较标准化,出问题的时候我们比较容定位是什么类型的问题。如果没有一个这样的环节,大家玩法都不一样,抛出的异样各式各样。难以定位问题。

文档

微服务最总是要给消费者来用的,开发人员如果说没有好的文档,去提供一些代码样例。那么接入的成本比较高。好的文档体系能帮助研发人员更好的去利用这个微服务。

配置集成

我们微服务框架需要集成统一配置中心。

后台服务

如数据服务、缓存服务、消息中间件等。

核心思想

微服务治理的核心思路就是将上述环节沉淀下来,变成框架平台的部分。让开发人员可以专注与业务逻辑的实现,在实现业务逻辑的时候不需要他们考虑外围的实现,提升他们的研发效率。
这些环节由专门的平台团队或者框架团队统一的去维护。这个微服务治理的核心理念。

你可能感兴趣的:(微服务框架需要考虑哪些治理环节?)