1. Per method or global one 2. Sync and async 3. Different strategies (raise or wait) 4. Max RPS/RPM or max wait timeout