Skip to content
yizhenqiang edited this page Mar 27, 2020 · 18 revisions

背景

移动互联网时代的来临,给业务增长插上翅膀的同时,也给服务端应用带来了巨大的挑战,大流量、高并发和海量数据似乎成为了服务端应用的标配。

为了对端上请求进行统一处理、鉴权和负载均衡等,服务端架构中一般会有个网关层,网关层拦截所有的流量,进行统一的限流、鉴权和流量转发管理,对外屏蔽内部的处理细节,网关层的下游,是一个由某个服务治理框架来管理多个应用的大型服务网络,虽然我们能使用微服务架构来对应用进行拆分,让多个应用之间职责、边界更清晰,做到独立横向扩展,并能匹配团队来进行快速迭代开发和维护。微服务架构,会导致团队需要维护的应用数量成倍的增加,错综复杂的服务依赖,可能架构师都说不清楚各应用的依赖关系,一旦某个应用或下游依赖出问题,就可能导致整个核心服务瘫痪,而大多数服务治理框架的自动容错、隔离和恢复能力都比较简单,缺乏专业的界面来进行策略调整和维护,所以急需一个专业的系统来做专业的事情,于是我们就开发了SDS。

SDS是什么

SDS(即 Service Downgrade System)是一个轻量级、简单、易用的限流、熔断、降级系统,能让Java应用做到自动限流、熔断和快速恢复,提升应用整体的“弹性”。现在服务端通过采用流行的微服务架构来应对错综复杂的大流量场景,并能在业务高速发展时仍然能做到较强的快速迭代能力和可扩展性。微服务架构并不是将整个系统变得更简单,相反,微服务架构的管理难度高于普通的集中式架构,所以,如何保证系统的每个节点在错综复杂的环境下能稳定提供服务,需要借助工具来让服务节点能抵挡流量冲击、熔断依赖坏点。

SDS Logo

SDS的使命

让服务端具备调控能力,成为服务端应用的保护伞!!!