Gitpedia

SnowJena

Distributed lock-free current limiting framework based on token bucket algorithm.基于令牌桶算法实现的分布式无锁限流框架。(欢迎Star,🚫禁止Fork)

From onblog·Updated May 15, 2026·View on GitHub·

**SnowJena** is a Distributed lock-free current limiting framework based on token bucket algorithm.基于令牌桶算法实现的分布式无锁限流框架。(欢迎Star,🚫禁止Fork) The project is written primarily in Java, distributed under the Apache License 2.0 license, first published in 2019. Key topics include: cas, springboot, springboot2, springcloud.

:gift_heart:SnowJena

<img src="https://img.shields.io/badge/Language-Java8-green.svg" referrerPolicy="no-referrer"/><img src="https://img.shields.io/badge/Maven-3-green.svg" referrerPolicy="no-referrer"/><img src="https://img.shields.io/badge/License-Apache2.0-green.svg" referrerPolicy="no-referrer"/>

What

基于令牌桶算法实现的分布式无锁限流框架,支持动态配置规则,支持可视化监控,开箱即用。

Document

使用文档:中文|English

功能概要

限流降级授权注解监控
黑名单白名单控制台分布式高可用

设计模式

单例模式观察者模式工厂模式建造者模式MVC模式
全局配置动态规则生产限流器限流规则控制台

Quick Start

Maven

xml
<dependency> <groupId>com.github.onblog</groupId> <artifactId>snowjena-core</artifactId> <version>4.0.0.RELEASE</version> </dependency>

本地限流

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"); } } } }

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from onblog/SnowJena via the GitHub API.Last fetched: 6/1/2026