Token bucket is a practical choice because it separates the sustained rate from the permitted burst size. Those two values should be configured independently; otherwise, increasing throughput may accidentally allow much larger traffic spikes than the downstream service can absorb.