CN111475382A - 基于sentinel的服务熔断、降级和限流系统 - Google Patents

基于sentinel的服务熔断、降级和限流系统 Download PDF

Info

Publication number
CN111475382A
CN111475382A CN202010275132.0A CN202010275132A CN111475382A CN 111475382 A CN111475382 A CN 111475382A CN 202010275132 A CN202010275132 A CN 202010275132A CN 111475382 A CN111475382 A CN 111475382A
Authority
CN
China
Prior art keywords
sentinel
degrading
current limiting
service
fusing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010275132.0A
Other languages
English (en)
Inventor
李进
顾湘余
杨烨
李海
陈龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Quwei Science & Technology Co ltd
Original Assignee
Hangzhou Quwei Science & Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Quwei Science & Technology Co ltd filed Critical Hangzhou Quwei Science & Technology Co ltd
Priority to CN202010275132.0A priority Critical patent/CN111475382A/zh
Publication of CN111475382A publication Critical patent/CN111475382A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于sentinel的服务熔断、降级和限流系统,包括portal控制台、服务端和客户端;portal控制台实现支持多机房切换管理;服务端采用了分布式时序数据库存储监控数据,使用zookeeper与apollo相结合的方式支持规则的动态下发;客户端集合Spring与dubbo框架,实现高效接入;本发明提供对跨集群、监控数据汇总以及SDK接入等需求的支持的基于sentinel的服务熔断、降级和限流系统。

Description

基于sentinel的服务熔断、降级和限流系统
技术领域
本发明涉及数据管理技术领域,更具体的说,它涉及基于sentinel的服务熔断、降级和限流系统。
背景技术
阿里开源框架sentinel提供了基本的服务熔断、降级和限流支持,但是其对跨集群、监控数据汇总以及SDK接入等需求的支持都不够细化和完善,为了满足上述在分布式服务中强需求,一种基于sentinel的跨集群服务熔断、降级和限流平台解决方案是十分必要的。
发明内容
本发明克服了现有技术的不足,提供基于Apache pulsar的全球数据同步系统。
本发明的技术方案如下:
基于sentinel的服务熔断、降级和限流系统,包括portal控制台、服务端和客户端;
portal控制台实现支持多机房切换管理;
服务端采用了分布式时序数据库存储监控数据,使用zookeeper与apollo相结合的方式支持规则的动态下发;
客户端集合Spring与dubbo框架,实现高效接入。
进一步的,机房提供服务端放置空间。
进一步的,客户端对原生sentinel-core进行封装改造,完成资源埋点和熔断、限流、降级的功能,提供多种自定义接入和配置方式。
本发明相比现有技术优点在于:
本发明使用时序数据库收集监控数据,在提高数据利用率的基础上,降低了服务器本身的存储压力和成本。本发明支持现实生产环境中的多集群管理,客户端更易于接入使用。本发明整合不同的开源框架,综合成为一种平台解决方案。
附图说明
图1为本发明的结构流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进一步说明。
如图1所示,基于sentinel的服务熔断、降级和限流系统,包括portal控制台、服务端和客户端。
portal控制台实现支持多机房切换管理;只需要部署在中心机房。机房用于提供服务端放置空间。
服务端采用了分布式时序数据库存储监控数据,使用zookeeper与apollo相结合的方式支持规则的动态下发;原生sentinel的监控数据存放在应用中,控制台通过http接口实时获取,不符合大流量线上应用以及容器化服务的实际情况,并且无法保留历史监控数据。基于单控制台多集群的实际需求,本方案将监控数据存储在时序数据库中,便于汇总、监控和历史数据保留,降低容器存储压力和成本;通过zookeeper+apollo+mysql的配置管理方式对sentinel的规则下发进行扩展和完善,实现控制台配置规则的动态下发与生效。为了支持跨机房的分布式服务,服务端需部署在每个机房内。
客户端集合Spring与dubbo框架,实现高效接入。客户端的接口SDK对原生sentinel-core进行封装改造,以适配主要服务框架,完成资源埋点和熔断、限流、降级等主要功能,提供多种自定义接入和配置方式,更易于接入和使用,且可以实现服务层、数据库、自定义方法等层面的熔断、降级和限流,客户端将资源埋点信息和监控数据通过消息中间件kafka上报给服务端,避免客户端对服务器的强依赖。
具体的实施步骤如下:
步骤1)准备配套组件,服务端依赖的组件包括Zookeeper集群、mysql、apollo和kafka,这里的Zookeeper集群主要完成规则的实时下发,可以用其他相关的组件进行相应替换,具备该功能即可。
步骤2)部署服务端应用程序,通过apollo配置服务端所依赖的组件如zookeeper、mysql和kafka的配置信息。
步骤3)部署portal控制台,配置服务端地址。
步骤4)业务通过依赖本方案提供的JAVA语言版本的客户端SDK,可以轻松实现资源埋点,比如服务层的Dubbo或者Spring cloud、数据访问层、缓存层、RPC调用或者可以自定义的资源埋点,比如任何一个本地方法,只需要引入相应的jar包依赖即可,除了自定义资源埋点需要加一个简单的注解之外,其它不用修改业务代码,对业务侵入为零。
其中的资源埋点,会异步地上报至服务端,这些数据会经过处理和存储,用户可以在portal控制台上查询这些资源,并根据实际情况设定熔断、降级和限流的规则,比如有一个接口,需要限流QPS为200,在接口平均响应时间大于1s时进行熔断,降级策略为返回一个默认的数据,当portal配置这些规则后,服务端即可通过zookeer实时地下发到业务服务中,如果某个时间点某个服务出现问题,根据规则就会自动地执行相应的限流、熔断和降级操作。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。

Claims (4)

1.基于sentinel的服务熔断、降级和限流系统,其特征在于,包括portal控制台、服务端和客户端;
portal控制台实现支持多机房切换管理;
服务端采用了分布式时序数据库存储监控数据,使用zookeeper与apollo相结合的方式支持规则的动态下发;
客户端集合Spring与dubbo框架,实现高效接入。
2.根据权利要求1所述的基于sentinel的服务熔断、降级和限流系统,其特征在于,机房提供服务端放置空间。
3.根据权利要求1所述的基于sentinel的服务熔断、降级和限流系统,其特征在于,客户端对原生sentinel-core进行封装改造,完成资源埋点和熔断、限流、降级的功能,提供多种自定义接入和配置方式。
4.根据权利要求1所述的基于sentinel的服务熔断、降级和限流系统,其特征在于,portal控制台部署在中心机房,服务端部署在每个机房。
CN202010275132.0A 2020-04-09 2020-04-09 基于sentinel的服务熔断、降级和限流系统 Pending CN111475382A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010275132.0A CN111475382A (zh) 2020-04-09 2020-04-09 基于sentinel的服务熔断、降级和限流系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010275132.0A CN111475382A (zh) 2020-04-09 2020-04-09 基于sentinel的服务熔断、降级和限流系统

Publications (1)

Publication Number Publication Date
CN111475382A true CN111475382A (zh) 2020-07-31

Family

ID=71751400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010275132.0A Pending CN111475382A (zh) 2020-04-09 2020-04-09 基于sentinel的服务熔断、降级和限流系统

Country Status (1)

Country Link
CN (1) CN111475382A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187521A (zh) * 2020-09-09 2021-01-05 上海微亿智造科技有限公司 一种基于Apollo实现工业互联网分布式服务降级系统
CN112269674A (zh) * 2020-11-19 2021-01-26 四川长虹电器股份有限公司 服务接口的异常熔断和自我恢复的方法
CN112416636A (zh) * 2020-10-29 2021-02-26 中国人寿保险股份有限公司 一种对数据库访问的熔断方法及电子设备
CN113778980A (zh) * 2021-02-02 2021-12-10 北京沃东天骏信息技术有限公司 Dao层降级方法和装置
CN115277820A (zh) * 2022-08-02 2022-11-01 中国银行股份有限公司 基于Dubbo框架的服务熔断方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833503A (zh) * 2018-05-29 2018-11-16 华南理工大学 一种基于ZooKeeper的Redis集群方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833503A (zh) * 2018-05-29 2018-11-16 华南理工大学 一种基于ZooKeeper的Redis集群方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网友: ""Sentinel实现服务限流、熔断、降级"", 《HTTPS://WWW.JIANSHU.COM/P/2ECC233712CE?UTM_CAMPAIGN=MALESKINE&UTM_CONTENT=NOTE&UTM_MEDIUM=SEO_NOTES&UTM_SOURCE=RECOMMENDATION》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187521A (zh) * 2020-09-09 2021-01-05 上海微亿智造科技有限公司 一种基于Apollo实现工业互联网分布式服务降级系统
CN112416636A (zh) * 2020-10-29 2021-02-26 中国人寿保险股份有限公司 一种对数据库访问的熔断方法及电子设备
CN112269674A (zh) * 2020-11-19 2021-01-26 四川长虹电器股份有限公司 服务接口的异常熔断和自我恢复的方法
CN113778980A (zh) * 2021-02-02 2021-12-10 北京沃东天骏信息技术有限公司 Dao层降级方法和装置
CN115277820A (zh) * 2022-08-02 2022-11-01 中国银行股份有限公司 基于Dubbo框架的服务熔断方法及装置

Similar Documents

Publication Publication Date Title
CN111475382A (zh) 基于sentinel的服务熔断、降级和限流系统
CN108270855B (zh) 一种物联网平台接入设备的方法
JP6695984B2 (ja) マルチタスクスケジューリング方法、システム、アプリケーションサーバ及びコンピュータの読み取り可能な記憶媒体
CN107896162B (zh) 监控系统的部署方法、装置、计算机设备及存储介质
US9277030B2 (en) Stream processing using a client-server architecture
US9661064B2 (en) Systems and methods for deploying legacy software in the cloud
CN111352717B (zh) 一种实现kubernetes自定义调度器的方法
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN103546571B (zh) 一种平台即服务实现方法及装置
CN111737329A (zh) 一种轨道交通统一数据采集平台
CN111694857B (zh) 存储资源数据的方法、装置、电子设备及计算机可读介质
CN104506620A (zh) 一种可扩展的自动化计算服务平台及其构建方法
CN104517181B (zh) 一种核电站企业内容管理系统及方法
US9654408B2 (en) Strict queue ordering in a distributed system
CN111371898B (zh) 一种消息监听方法、装置、设备及存储介质
CN112346926B (zh) 资源状态监控方法、装置及电子设备
CN109450693A (zh) 混合云监控系统及使用其的监控方法
CN102983996A (zh) 一种高可用集群资源管理的动态配置方法与系统
CN110659124A (zh) 一种消息处理方法和装置
CN111666145A (zh) 消息队列的消息处理方法、系统和计算机设备
CN113703997A (zh) 集成多种消息代理的双向异步通信中间件系统及实现方法
CN106888264B (zh) 一种数据交换方法和装置
CN116325705A (zh) 边缘计算环境中的管理任务流
CN111125046B (zh) 基于非结构化平台的跨系统文件共享系统及方法
CN113377626A (zh) 基于服务树的可视化统一报警方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200731