Skip to content

Commit

Permalink
7.1.0 documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimir-bukhtoyarov committed Jan 28, 2022
1 parent 668cc59 commit 55016e1
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ import io.github.bucket4j.grid.hazelcast.serialization.HazelcastSerializer;
==== Support for externally managed Hazelcast without classpath access
`bucket4j-hazelcast` requires putting Bucket4j jars to classpath of each node of Hazelcast cluster.
Sometimes you have no control over classpath because Hazelcast cluster is externally managed(Paas scenario).
In such cases ```HazelcastProxyManager``` can not be used because it is implemented on top of https://hazelcast.com/blog/an-easy-performance-improvement-with-entryprocessor/:[EntryProcessor functionality].
In such cases ```HazelcastProxyManager``` can not be used because it is implemented on top of https://docs.hazelcast.com/imdg/4.2/computing/entry-processor[EntryProcessor] functionality.

.Bucket4j provides two alternatives for PaaS topology:
HazelcastLockBasedProxyManager:: is implemented on top IMap methods `lock`, `get`, `put`, `unlock`.
Expand All @@ -80,5 +80,5 @@ This implementation requires 2 network hops if no contention happens, but in cas
If you wish to async API be supported by `HazelcastLockBasedProxyManager` and `HazelcastCompareAndSwapBasedProxyManager` ask Hazelcast maintainers to support the missed APIs mentioned above.

==== Known issues related with Docker and(or) SpringBoot
* https://github.com/vladimir-bukhtoyarov/bucket4j/discussions/186:[#186 HazelcastEntryProcessor class not found] - check file permissions inside your image.
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/162:[#182 HazelcastSerializationException with Hazelcast 4.2] - properly setup classloader for Hazelcast client configuration.
* https://github.com/vladimir-bukhtoyarov/bucket4j/discussions/186[#186 HazelcastEntryProcessor class not found] - check file permissions inside your image.
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/162[#182 HazelcastSerializationException with Hazelcast 4.2] - properly setup classloader for Hazelcast client configuration.
1 change: 1 addition & 0 deletions asciidoc/src/main/docs/asciidoc/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ image:images/Maxim_Bartkov.jpg[80,80] +
== Third-party articles and integrations

=== Third-party articles
* https://dzone.com/articles/how-to-provide-rate-limiting-via-bucket4j-in-java[Maxim Bartkov - How to Provide Rate-Limiting Via Bucket4j in Java]
* https://golb.hplar.ch/2019/08/rate-limit-bucket4j.html[Rate limiting Spring MVC endpoints with bucket4j]
* http://www.programmersought.com/article/2524209291/[ProgrammerSought - Bucket4j preliminary understanding]
* https://www.baeldung.com/spring-bucket4j[Baeldung - Rate Limiting a Spring API Using Bucket4j]
Expand Down
20 changes: 6 additions & 14 deletions asciidoc/src/main/docs/asciidoc/release-notes.adoc
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
=== Bucket4j {revnumber} release notes
Release `{revnumber}` is addressed for redesign of distributed facilities
Release `{revnumber}`

.The major issues in release scope are following:
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/90[#90 Adopt distributed version Bucket4j for huge request rate on single key]
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/18[#18 Support for none-jcache based backends like Redis and Relational databases]
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/70[#70 Support rolling upgrades]
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/69[#69 Migrate documentation from Github pages to Asciidoc]
.The issues in release scope are following:
* https://github.com/vladimir-bukhtoyarov/bucket4j/discussions/218[#218 Support Hazelcast in case lack of access to classpath]
* https://github.com/vladimir-bukhtoyarov/bucket4j/issues/220[#220 Change response of tryConsumeAndReturnRemaining for cases when requested amount of tokens is greater than bandwidth capacity]
.Migration guide for basic(non-distributed) functionality
Backward compatibility for local buckets was not broken. If you do not use distributed features then upgrade will be transparent for you.

NOTE: some API was marked as deprecated, it will be removed in the 2023. Each deprecation note picks to the new API that should be used instead.

.Migration guide for non-distributed functionality
API for distributed facilities was rewritten a lot, especially the builder API.
The best migration strategy will be just find documentation for your particular backend http://bucket4j.com/7.0.0/toc.html#distributed-facilities[there] and rewrite the code according instructions.
.Migration notes
Check whether the changes related to https://github.com/vladimir-bukhtoyarov/bucket4j/issues/220 can affect your use-cases.

0 comments on commit 55016e1

Please sign in to comment.