-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use backoff when writing route status to avoid conflicts
Each router process now uses a rough "write leasing" scheme to avoid sending conflicting writes. When a router starts, it tries to write status for its ingress. If it succeeds in writing status, it considers itself to hold the lease, and if it fails it considers itself a follower and goes into exponential backoff. A single leader quickly emerges, and all other routers observe the writes and consider the leader to be extending her lease. In this fashion a large number of routers can use the route status itself as a coordination mechanism and avoid generating large numbers of meaningless writes.
- Loading branch information
1 parent
9ef1349
commit 6ff4a9f
Showing
6 changed files
with
518 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.