All Projects → eacdy → Sentinel-Dashboard-Nacos

eacdy / Sentinel-Dashboard-Nacos

Licence: Apache-2.0 license
Description Sentinel Dashboard使用NACOS作为数据源持久化规则。【仅用于教学,如用于生产,请务必做好测试!】

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Sentinel-Dashboard-Nacos

fire-cloud
基于Spring Cloud的微服务业务框架
Stars: ✭ 16 (-81.61%)
Mutual labels:  sentinel, spring-cloud-alibaba
Spring Cloud Alibaba
Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.
Stars: ✭ 20,934 (+23962.07%)
Mutual labels:  circuit-breaker, spring-cloud-alibaba
pf-azure-sentinel
Parse pfSense/OPNSense logs using Logstash, GeoIP tag entities, add additional context to logs, then send to Azure Sentinel for analysis.
Stars: ✭ 24 (-72.41%)
Mutual labels:  sentinel
Connectors
Connectors simplify connecting to standalone and CloudFoundry services
Stars: ✭ 28 (-67.82%)
Mutual labels:  circuit-breaker
circuit-breaker
PHP implementation of circuit breaker pattern
Stars: ✭ 17 (-80.46%)
Mutual labels:  circuit-breaker
cosmos-snapshots
Automatic snapshots of the blockchain state
Stars: ✭ 71 (-18.39%)
Mutual labels:  sentinel
CircuitBreaker
A Swift Circuit Breaker library – Improves application stability and reliability.
Stars: ✭ 42 (-51.72%)
Mutual labels:  circuit-breaker
Springcloud
基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中
Stars: ✭ 6,997 (+7942.53%)
Mutual labels:  sentinel
microservices-developer-roadmap
Roadmap for becoming a Microservice Developer in 2017
Stars: ✭ 24 (-72.41%)
Mutual labels:  circuit-breaker
lua-circuit-breaker
Circuit breaker pattern in Lua
Stars: ✭ 28 (-67.82%)
Mutual labels:  circuit-breaker
metrics-spring-boot
Spring Boot 基于Sentinel服务接口监控及其手自一体化限流
Stars: ✭ 17 (-80.46%)
Mutual labels:  sentinel
Uragano
Uragano, A simple, high performance RPC library. Support load balancing, circuit breaker, fallback, caching, intercepting.
Stars: ✭ 28 (-67.82%)
Mutual labels:  circuit-breaker
aitlas
AiTLAS implements state-of-the-art AI methods for exploratory and predictive analysis of satellite images.
Stars: ✭ 134 (+54.02%)
Mutual labels:  sentinel
request-on-steroids
An HTTP client ✨ with retry, circuit-breaker and tor support 📦 out-of-the-box
Stars: ✭ 19 (-78.16%)
Mutual labels:  circuit-breaker
Lidea
大型分布式系统实时监控平台
Stars: ✭ 28 (-67.82%)
Mutual labels:  sentinel
spring-cloud
🔥 Develop distributed application services based on SpringCloud architecture model and components
Stars: ✭ 36 (-58.62%)
Mutual labels:  sentinel
Springcloud Learning
Spring Cloud基础教程,持续连载更新中
Stars: ✭ 6,839 (+7760.92%)
Mutual labels:  sentinel
app-xyo-nodejs
XYO Archivist/Diviner CLI
Stars: ✭ 41 (-52.87%)
Mutual labels:  sentinel
yato
A node module similar to hystrix. Who caused riots - cut it!
Stars: ✭ 12 (-86.21%)
Mutual labels:  circuit-breaker
JavaFamily
【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Stars: ✭ 517 (+494.25%)
Mutual labels:  sentinel

Sentinel Logo

Sentinel: Sentinel of Your Application

Travis Build Status Codecov Maven Central License Gitter

Introduction

As distributed systems become increasingly popular, the reliability between services is becoming more important than ever before. Sentinel takes "flow" as breakthrough point, and works on multiple fields including flow control, circuit breaking and system adaptive protection, to guarantee reliability of microservices.

Sentinel has the following features:

  • Rich applicable scenarios: Sentinel has been wildly used in Alibaba, and has covered almost all the core-scenarios in Double-11 (11.11) Shopping Festivals in the past 10 years, such as “Second Kill” which needs to limit burst flow traffic to meet the system capacity, message peak clipping and valley fills, circuit breaking for unreliable downstream services, cluster flow control, etc.
  • Real-time monitoring: Sentinel also provides real-time monitoring ability. You can see the runtime information of a single machine in real-time, and the aggregated runtime info of a cluster with less than 500 nodes.
  • Widespread open-source ecosystem: Sentinel provides out-of-box integrations with commonly-used frameworks and libraries such as Spring Cloud, Dubbo and gRPC. You can easily use Sentinel by simply add the adapter dependency to your services.
  • Various SPI extensions: Sentinel provides easy-to-use SPI extension interfaces that allow you to quickly customize your logic, for example, custom rule management, adapting data sources, and so on.

Features overview:

features-of-sentinel

Documentation

See the 中文文档 for document in Chinese.

See the Wiki for full documentation, examples, blog posts, operational details and other information.

Sentinel provides integration module for various open-source frameworks and libraries (e.g. Spring Cloud, Apache Dubbo, gRPC, Spring WebFlux, Reactor). You can refer to the document for more information.

If you are using Sentinel, please leave a comment here to tell us your scenario to make Sentinel better. It's also encouraged to add the link of your blog post, tutorial, demo or customized components to Awesome Sentinel.

Ecosystem Landscape

ecosystem-landscape

Quick Start

Below is a simple demo that guides new users to use Sentinel in just 3 steps. It also shows how to monitor this demo using the dashboard.

1. Add Dependency

Note: Sentinel requires Java 7 or later.

If your application is build in Maven, just add the following dependency in pom.xml.

<!-- replace here with the latest version -->
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-core</artifactId>
    <version>1.6.1</version>
</dependency>

If not, you can download JAR in Maven Center Repository.

2. Define Resource

Wrap your code snippet via Sentinel API: SphU.entry(resourceName). In below example, it is System.out.println("hello world");:

try (Entry entry = SphU.entry("HelloWorld")) {
    // Your business logic here.
    System.out.println("hello world");
} catch (BlockException e) {
    // Handle rejected request.
    e.printStackTrace();
}

So far the code modification is done. We also provide annotation support module to define resource easier.

3. Define Rules

If we want to limit the access times of the resource, we can set rules to the resource. The following code defines a rule that limits access to the resource to 20 times per second at the maximum.

List<FlowRule> rules = new ArrayList<>();
FlowRule rule = new FlowRule();
rule.setResource("HelloWorld");
// set limit qps to 20
rule.setCount(20);
rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
rules.add(rule);
FlowRuleManager.loadRules(rules);

For more information, please refer to How To Use.

4. Check the Result

After running the demo for a while, you can see the following records in ~/logs/csp/${appName}-metrics.log.{date} (When using the default DateFileLogHandler).

|--timestamp-|------date time----|-resource-|p |block|s |e|rt  |occupied
1529998904000|2018-06-26 15:41:44|HelloWorld|20|0    |20|0|0   |0
1529998905000|2018-06-26 15:41:45|HelloWorld|20|5579 |20|0|728 |0
1529998906000|2018-06-26 15:41:46|HelloWorld|20|15698|20|0|0   |0
1529998907000|2018-06-26 15:41:47|HelloWorld|20|19262|20|0|0   |0
1529998908000|2018-06-26 15:41:48|HelloWorld|20|19502|20|0|0   |0
1529998909000|2018-06-26 15:41:49|HelloWorld|20|18386|20|0|0   |0

p stands for incoming request, block for blocked by rules, success for success handled by Sentinel, e for exception count, rt for average response time (ms), occupied stands for occupiedPassQps since 1.5.0 which enable us booking more than 1 shot when entering.

This shows that the demo can print "hello world" 20 times per second.

More examples and information can be found in the How To Use section.

The working principles of Sentinel can be found in How it works section.

Samples can be found in the sentinel-demo module.

5. Start Dashboard

Sentinel also provides a simple dashboard application, on which you can monitor the clients and configure the rules in real time.

For details please refer to Dashboard.

Trouble Shooting and Logs

Sentinel will generate logs for troubleshooting. All the information can be found in logs.

Bugs and Feedback

For bug report, questions and discussions please submit GitHub Issues.

Contact us: [email protected]

Contributing

Contributions are always welcomed! Please see CONTRIBUTING for detailed guidelines.

You can start with the issues labeled with good first issue.

Credits

Thanks Guava, which provides some inspiration on rate limiting.

And thanks for all contributors of Sentinel!

Who is using

These are only part of the companies using Sentinel, for reference only. If you are using Sentinel, please add your company here to tell us your scenario to make Sentinel better :)

Alibaba Group Taiping Renshou Shunfeng Technology Mandao 每日优鲜 二维火 文轩在线 客如云 亲宝宝 杭州光云科技 金汇金融 闪电购 拼多多

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].