CN111475382A - 基于sentinel的服务熔断、降级和限流系统 - Google Patents
基于sentinel的服务熔断、降级和限流系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration 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提供了基本的服务熔断、降级和限流支持,但是其对跨集群、监控数据汇总以及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控制台部署在中心机房,服务端部署在每个机房。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833503A (zh) * | 2018-05-29 | 2018-11-16 | 华南理工大学 | 一种基于ZooKeeper的Redis集群方法 |
-
2020
- 2020-04-09 CN CN202010275132.0A patent/CN111475382A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833503A (zh) * | 2018-05-29 | 2018-11-16 | 华南理工大学 | 一种基于ZooKeeper的Redis集群方法 |
Non-Patent Citations (1)
Title |
---|
网友: ""Sentinel实现服务限流、熔断、降级"", 《HTTPS://WWW.JIANSHU.COM/P/2ECC233712CE?UTM_CAMPAIGN=MALESKINE&UTM_CONTENT=NOTE&UTM_MEDIUM=SEO_NOTES&UTM_SOURCE=RECOMMENDATION》 * |
Cited By (5)
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 |