微服务框架需要考虑哪些治理环节?
微服务框架需要考虑哪些治理环节?
如果一个公司的微服务多了,需要有管理和治理。今天给大家介绍一下服务治理环节,一个好的微服务体系需要关注哪些治理环节。
服务注册发现
首先,我们的微服务框架需要注册服务发现,微服务当中有很多服务,几十个甚至上百个,他们之间有错综复杂的依赖关系。这个时候就存在消费者怎么去发现我们的服务的生产者。这个就是服务注册和发现要解决的问题。
服务的负载均衡
为了应对大的流量我们的服务一般是多份部署,这个时候就存在负载均衡。另外我能服务需要路由这个能力非常重要,如果我们需要支持灰度发布、蓝绿发布这种机制。那需要我们微服务治理需要考虑他的软路由的实现。
监控相关的环节-日志
首先是微服务日志监控,日志对于我们后期排错,定位问题是非常关键的。我们少的一套监控框架需要集成我们日志监控。
Metrics
如果我们要对服务的对服务的延迟进行监控、请求数量QPS监控等,通过Metrics进行数据采集操作。
调用链监控
微服务存在错综复杂的调用关系,像一个网状结构一样。如果我们有一套好的调用链监控,开发人员很容易帮助我们快速定位问题。
限流熔断
微服务是一个分布式系统,如果没有好的限流熔断措施,如果某个服务出现故障或者延迟,有可能导致整个系统瘫痪,这就是微服务的限流熔断存在的意义。避免一个系统故障导致整个系统瘫痪。
安全和访问控制机制
有些服务我们并不需要所有人都能够进行访问,比如说设计到敏感信息的系统如:用户系统。需要我们有安全策略,如黑白名单,访问控制策略。来限制对这些服务的访问。
RPC/REST
好的一个微服务框架是可以同时支持REST、RPC调用的。不同的通信方式有不同的场景,如果你的框架可以支持配置不同的通信方式的话会更加灵活。
序列化
建议做到支持XML、JSON、高性能的二进制等。
代码生成
在大规模开发的时候,比较推崇契约驱动的开发模式。在大规模开发的时候生成的代码比较规整。
统一异常处理
我们希望服务治理环节,具备统一异常处理的能力,这样的话异常信息比较标准化,出问题的时候我们比较容定位是什么类型的问题。如果没有一个这样的环节,大家玩法都不一样,抛出的异样各式各样。难以定位问题。
文档
微服务最总是要给消费者来用的,开发人员如果说没有好的文档,去提供一些代码样例。那么接入的成本比较高。好的文档体系能帮助研发人员更好的去利用这个微服务。
配置集成
我们微服务框架需要集成统一配置中心。
后台服务
如数据服务、缓存服务、消息中间件等。
核心思想
微服务治理的核心思路就是将上述环节沉淀下来,变成框架平台的部分。让开发人员可以专注与业务逻辑的实现,在实现业务逻辑的时候不需要他们考虑外围的实现,提升他们的研发效率。
这些环节由专门的平台团队或者框架团队统一的去维护。这个微服务治理的核心理念。
更多文章请关注微信公众号
更多内容请查看 Julywhj的博客期待您的光顾。
还没有评论,来说两句吧...