Goralim – A rate limiting package for Go to handle distributed workloads

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • goralim

    A rate limiting package for Go to handle distributed workloads

  • Nice project, but for other readers, please don't use this in production. There is almost no error handling whatsoever going on: for example, see https://github.com/0verread/goralim/blob/main/goralim.go#L36. What happens if the redis calls in this function fail? If the Get here https://github.com/0verread/goralim/blob/main/goralim.go#L58 fails, for example if your redis connection dies, the code will always return false.

    The code in the README will also result in a panic if the connection to the redis client fails.

    Consider using https://github.com/go-redis/redis_rate (which implements leaky bucket/GCRA) or https://github.com/ulule/limiter (which implements a much more basic rate limiting algorithm, but has good middleware support) instead.

  • redis_rate

    Rate limiting for go-redis

  • Nice project, but for other readers, please don't use this in production. There is almost no error handling whatsoever going on: for example, see https://github.com/0verread/goralim/blob/main/goralim.go#L36. What happens if the redis calls in this function fail? If the Get here https://github.com/0verread/goralim/blob/main/goralim.go#L58 fails, for example if your redis connection dies, the code will always return false.

    The code in the README will also result in a panic if the connection to the redis client fails.

    Consider using https://github.com/go-redis/redis_rate (which implements leaky bucket/GCRA) or https://github.com/ulule/limiter (which implements a much more basic rate limiting algorithm, but has good middleware support) instead.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Limiter

    Dead simple rate limit middleware for Go.

  • Nice project, but for other readers, please don't use this in production. There is almost no error handling whatsoever going on: for example, see https://github.com/0verread/goralim/blob/main/goralim.go#L36. What happens if the redis calls in this function fail? If the Get here https://github.com/0verread/goralim/blob/main/goralim.go#L58 fails, for example if your redis connection dies, the code will always return false.

    The code in the README will also result in a panic if the connection to the redis client fails.

    Consider using https://github.com/go-redis/redis_rate (which implements leaky bucket/GCRA) or https://github.com/ulule/limiter (which implements a much more basic rate limiting algorithm, but has good middleware support) instead.

  • sphinx

    Configurable HTTP rate limiter (by Clever)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts