Skip to content

Commit b9835b0

Browse files
authored
Update README.md
formatting
1 parent 83339a1 commit b9835b0

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ The following code shows how to include the AmazonKeyspacesRetryPolicy to exist
1818
}
1919
```
2020

21-
## Throttling - RateLimiting
21+
## Throttling / RateLimiting
2222
Retries maintain level of availability when receiving short burst of traffic, acute failure, or loss of connection, but sustained retries can further destabilize systems resulting in cascading failure. If you are using retries to limit traffic then you may want to consider a rate limiter. As reties continue to occur at a steady rate they increasingly add to the overall traffic sent to the database. When facing this scenario you should introduce rate-limiting. Rate limiters provide what is known as back pressure. You can achieve this by leveraging the Java Driver's Throttler Extension point. There are a few rate-limiters provided native with the driver, but in this repository we will provide some sample limiters that are designed for Amazon Keyspaces serverless capacity and service quotas.
2323

2424
### AmazonKeyspacesFixedRateThrottler
@@ -29,7 +29,8 @@ The second limiter is dynamically configured based on the number of connections
2929
The limiter will control the number of cql request per second but expects the table to have proper capacity defined to achieve utilization.
3030
This is a blocking implementation, but has a configurable timeout.
3131

32-
The most well-known use-case for this type of rate limiter is bulk loading data at consistent rates or batch processing. In the image below we are able to utilize 100 percent of the table's capacity without error by fixing the request rate to the table write capacity. The workload gradually stepped up throughput level all the way up to 3x the request rate of the table's provisioned capacity. Additionally, since the rate limiter allows for bursting, we are able to use burst capacity of the table that can accrue when provisioned capacity is not fully utilized. The fixed are limiter can also be used with On-Demand Capacity Tables to fit within current account specific table quotas.
32+
The most well-known use-case for this type of rate limiter is bulk loading data at consistent rates or batch processing. In the image below we are able to utilize 100 percent of the table's capacity without error by fixing the request rate to the table write capacity. The workload gradually stepped up throughput level all the way up to 3x the request rate of the table's provisioned capacity. Additionally, since the rate limiter allows for bursting, we are able to use burst capacity of the table that can accrue when provisioned capacity is not fully utilized. Eventually, the blue line for provision capacity and the green line for provisioned capacity are one to one. The fixed are limiter can also be used with On-Demand Capacity Tables to fit within current account specific table quotas.
33+
3334
![Rate Limiting](/static/images/RateLimiting.png)
3435

3536
To activate this throttler, modify the {@code advanced.throttler} section in the driver configuration, for example:

0 commit comments

Comments
 (0)