Service heartbeat with Memcached
Today the heartbeat information of Nova services/nodes is maintained in the DB, while each service updates the corresponding record in the Service table periodically (by default -- every 10 seconds), specifying the timestamp of the last update. This mechanism is highly inefficient and does not scale. E.g., maintaining the heartbeat information for 1,000 nodes/services would require 100 DB updates per second (just for the heartbeat).
A much more lightweight heartbeat mechanism can be implemented using Memcached.
Blueprint information
- Status:
- Complete
- Approver:
- Vish Ishaya
- Priority:
- Low
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- Akira Yoshiyama
- Definition:
- Approved
- Series goal:
- Accepted for grizzly
- Implementation:
- Implemented
- Milestone target:
- 2013.1
- Started by
- Akira Yoshiyama
- Completed by
- Vish Ishaya
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Added a service heartbeat driver using Memcached.
DEVELOPMENT STATUS: Ready to be merged
- Development is done.
No more schedule to change/modify it.
- Reviews look done.
- Test coverage of the driver is very good.
C0 coverage rate: 96.3% (2 lines are uncovered, see comments on the 9th patch set.)
C1 coverage rate: 78.57% (3 conditions are uncovered.)
- There is less influence on the master.
2 statements out of the driver wll be patched.