前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >啥 啥 啥,服务治理是个啥

啥 啥 啥,服务治理是个啥

作者头像
luoxn28
发布2021-02-26 15:13:38
1.7K0
发布2021-02-26 15:13:38
举报
文章被收录于专栏:TopCoderTopCoder

首先,先说下服务治理的边界,本质上任何能提升服务可用性,性能,让服务更稳定等等,只要是能让服务运行的更好,都属于服务治理的范畴。服务治理比较常见的话题:服务发现,服务变更管理,服务监控,服务扩容缩容,服务自我保护,服务降级,服务授权防攻击,服务上线验证和灰度发布,服务问题定位和跟踪,服务负载,服务实例的调度等等。

微服务是最近几年才兴起的概念。简单点讲,就是把复杂的大应用,解耦拆分成几个小的应用。这样做的好处有很多。比如,这样有利于团队组织架构的拆分,毕竟团队越大协作的难度越大;再比如,每个应用都可以独立运维,独立扩容,独立上线,各个应用之间互不影响。不用像原来那样,一个小功能上线,整个大应用都要重新发布。

不过,有利就有弊。大应用拆分成微服务之后,服务之间的调用关系变得更复杂,平台的整体复杂熵升高,出错的概率、debug 问题的难度都高了好几个数量级。所以,为了解决这些问题,服务治理便成了微服务的一个技术重点。

所谓服务治理,简单点讲,就是管理微服务,保证平台整体正常、平稳地运行。服务治理涉及的内容比较多,比如鉴权、限流、降级、熔断、监控告警等等。这些服务治理功能的实现,底层依赖大量的数据结构和算法。

关于微服务框架,目前国内常见的是SpringCloud技术栈Dubbo技术栈,前者多为rest服务(http),后者多为RPC服务,一般来说REST 服务调用性能会比 RPC 低一些,注意本质上来讲rest也可以认为是一种RPC。技术栈支持上来说,SpringCloud由于引入了很多依赖组件,特别是netflix的那一套组件,上手简单,但是随着最近几年阿里对于Dubbo社区的投入增加,Dubbo相关组件也慢慢活跃起来,比如nacos、sentinel、rocketmq、seata这些,最近两年也搞了一个Spring Cloud Alibaba,其中就集成了上述所说的几个组件。

Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。

关于限流熔断降级,目前开源框架有hystrix和sentinel。比如Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。关于下流,一般会根据不同场景进行不同的限流操作,常见的有令牌桶和漏斗限流算法。

关于Sentinel可以参考如下文章:

关于配置中心,目前常见的有Apollo、Disconf、Nacos,其中Apollo是目前国内使用较多的,Nacos目前也是阿里主推的,其发展潜力也不容小觑。关于注册中心,大都是基于AP或者CP来实现,比如常见的Eureka、Nacos、Etcd等等。

对于分布式事务来说,目前比较火的是阿里开源的Seata-其致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案,github地址:https://github.com/seata/seata。关于seata这块,可以参考以下文章:

服务治理内容涉及较多,在这里就不一一展开赘述了,感兴趣的小伙伴可以根据文章开头的内容自行google即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TopCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档