# SnowJena **Repository Path**: wkh-opensource/SnowJena ## Basic Information - **Project Name**: SnowJena - **Description**: 基于令牌桶算法实现的分布式无锁限流框架,支持熔断降级,支持动态配置规则,支持可视化监控,开箱即用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://yueshutong.github.io/SnowJena/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 124 - **Created**: 2019-09-29 - **Last Updated**: 2022-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # :gift_heart:SnowJena ## What 基于令牌桶算法实现的分布式无锁限流框架,支持熔断降级,支持动态配置规则,支持可视化监控,开箱即用。 ## Document 使用文档:[中文](./CN_README.md)|[English](./EN_README.md) ## 功能概要 | 限流 | 熔断 | 降级 | 监控 | 注解 | | ------ | ------ | ------ | ------ | ------ | | 黑名单 | 白名单 | 控制台 | 分布式 | 高可用 | ## 设计模式 | 单例模式 | 观察者模式 | 工厂模式 | 建造者模式 | MVC模式 | | -------- | ---------- | ---------- | ---------- | ------- | | 全局配置 | 动态规则 | 生产限流器 | 限流规则 | 控制台 | # Quick Start ## Maven ```xml cn.yueshutong snowjena-core 3.0.0.RELEASE ``` ## 本地限流 ```java public class AppTest { Logger logger = LoggerFactory.getLogger(getClass()); /** * 本地限流 */ @Test public void test1() { // 1.配置规则 RateLimiterRule rateLimiterRule = new RateLimiterRuleBuilder() .setLimit(1) .setPeriod(1) .setUnit(TimeUnit.SECONDS) //每秒令牌数为1 .build(); // 2.工厂模式生产限流器 RateLimiter limiter = RateLimiterFactory.of(rateLimiterRule); // 3.使用 while (true) { if (limiter.tryAcquire()) { logger.info("ok"); } } } } ``` # About Blog: Email:[yster@foxmail.com](mailto:yster@foxmail.com) Github: Gitee: 交流QQ群:781927207 如果帮助到你了,请不吝赞赏!谢谢!