Hazelcast
bucket4j
Our great sponsors
Hazelcast | bucket4j | |
---|---|---|
7 | 16 | |
5,819 | 2,141 | |
1.3% | 3.1% | |
9.9 | 8.9 | |
6 days ago | 3 days ago | |
Java | Java | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Hazelcast
-
Real-time stream processing with Hazelcast and Pulsar
Join the Hazelcast Slack andHazelcast Github repository.
- My Awesome Collections of 200+ github repo
bucket4j
- FLaNK Stack Weekly for 22 May 2023
-
The right feature at the right place
-- Bucket4J
-
Feign client Rate Limiting using Resilience4J
See https://github.com/vladimir-bukhtoyarov/bucket4j and https://github.com/cowwoc/token-bucket for alternatives.
-
Java rate-limiting library based on the token-bucket algorithm.
Hi everyone! My name is Maxim Bartkov, I'm a co-author of Bucket4J library. I want to present the library to provide rate-limiting in Java. Bucket4J - this is the most popular library to provide rate-limiting in Java. I invite each person to familiarize themselves with Bucket4J. We have been working for more than 7 years for the community and we want to make the library and open-source better. Bucket4J is used in many other libraries, such: Kubernetes client, JHipster, Atlassian, Twitch4J, and other popular libraries. Now we are going to huge release 7.0 with many features, we will publish about that a little bit later (in a few weeks). I hope on your support, we will be glad to your any contribution/suggestions/ideas.
-
Rate Limiting API with Spring-Security and Bucket4J
Implemented rate-limiting on REST-APIs by creating a custom spring security filter and adding it to the filter-chain. Bucket4j library is used to manage and handle the users configured quota to consume services per hour using token-bucket algorithm. The quota of the user is based upon the type of plan selected during account-creation.
-
London Clojurians Talk: Building a RESTful Web API in Clojure: a new approach (by Malcolm Sparks)
However, if you're serving a public resource, authorization isn't going to help restrict requests. If you're concerned about Denial of Service attacks, and aren't relying on infrastructure upstream of you to manage those, you'd focus your mitigations in Step 2. For example, you could use something like https://github.com/vladimir-bukhtoyarov/bucket4j to create rate-limited buckets on IP addresses or ranges.
What are some alternatives?
Caffeine - A high performance caching library for Java
Apache ZooKeeper - Apache ZooKeeper
Redisson - Redisson - Easy Redis Java client with features of In-Memory Data Grid. Sync/Async/RxJava/Reactive API. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache ...
Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Ehcache - Ehcache 3.x line
JGroups - The JGroups project
rate-limiting-api-spring-boot - Rate limiting private REST APIs using Java Spring-boot, spring-security and bucket4j
Infinispan - Infinispan is an open source data grid platform and highly scalable NoSQL cloud data store.
Atomix - A Kubernetes toolkit for building distributed applications using cloud native principles
Flowable (V6) - A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.
Hystrix - Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
Arthas - Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas