Enterprise Integration Patterns
Conversation Patterns
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT
Leader ElectionConversation Patterns » Discovery

Distributed Consensus

Some conversations among multiple participants require one participant to play a special role, e.g. to act as a coordinator.

How can a set of participants agree on a single participant assuming a special role?

  • Participant implementations can fail, making a fixed leader assignment unreliable.

Use a distributed consensus algorithm based on Paxos to elect a leader.

Leader election is a common distributed algorithm problem [22] with a number of proven algorithms.

[22] Distributed Algorithms, Lynch, 1996, Morgan Kaufmann

http://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf

Introduction
Overview
Preface
Table of Contents
Introduction
Describing Conversations
Choreography
Orchestration
Hypermedia State
Conversation Vocabulary
Discovery
Dynamic Discovery
Advertise Availability
Consult Directory
Referral
Leader Election
Starting a Conversation
Three-Way Hand Shake
Acquire Token First
Rotate Tokens
Verify Identity
User Grants Access
Basic Conversations
Fire-and-Forget
Asynchronous Request-Response
Request-Response with Retry
Polling
Subscribe-Notify
Quick Acknowledgment
Intermediaries
Proxy
Relay
Load Balancer
Scatter-Gather
Managing Distributed Systems
Heartbeat
Resource Management
Incremental State Build-up
Lease
Renewal Reminder
Ensuring Consistency
Ignore Error
Compensating Action
Tentative Operation
Coordinated Agreement
Appendices
Bibliography