Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
gRPC Go for Professionals

You're reading from   gRPC Go for Professionals Implement, test, and deploy production-grade microservices

Arrow left icon
Product type Paperback
Published in Jul 2023
Publisher Packt
ISBN-13 9781837638840
Length 260 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Clément Jean Clément Jean
Author Profile Icon Clément Jean
Clément Jean
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Chapter 1: Networking Primer 2. Chapter 2: Protobuf Primer FREE CHAPTER 3. Chapter 3: Introduction to gRPC 4. Chapter 4: Setting Up a Project 5. Chapter 5: Types of gRPC Endpoints 6. Chapter 6: Designing Effective APIs 7. Chapter 7: Out-of-the-Box Features 8. Chapter 8: More Essential Features 9. Chapter 9: Production-Grade APIs 10. Epilogue
11. Index 12. Other Books You May Enjoy

Securing APIs with rate limiting

For the last interceptor we are going to add to the server, we are going to use a rate limiter. More precisely, we are going to use the implementation of a token bucket rate limiter, which is provided by the golang.org/x/time/rate package. In this section, we are not going to delve deeply into what rate limiters are or how to build one – that is out of the scope of this book, however, you will see how you can use a rate limiter (a readily implemented or custom one) in the context of gRPC.

The first thing that we need to do is get the dependency on the rate limiter:

$ go get golang.org/x/time/rate

Important note

The next command is only needed if you did not get the previous dependency on go-grpc-middleware. If you followed section by section, you should not need it.

The we get the dependency for the interceptor:

$ go get github.com/grpc-ecosystem/go-grpc-middleware/v2/
  interceptors/ratelimit

Now, we are going...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image