8. Scenario and Feature ReferenceΒΆ
AMPS offers a wide array of messaging features to solve a variety of messaging scenarios. This section presents some basic mappings between common messaging scenarios and the AMPS features that support those scenarios. Of course, this list is just a sampling of the types of applications that use AMPS.
Scenario | AMPS Feature(s) |
Simple, low-latency publish and subscribe (many to many messaging) with no need to persist messages | ad hoc publish and subscribe |
Publish and subscribe with a replayable audit trail | transaction log and bookmark subscription |
Snapshot of the current state of a set of messages (for example, graphing the elapsed time for all pending orders) | state of the world (SOW) |
Creating a view server that aggregates information about a high-velocity data feed for reporting | state of the world (SOW) views and aggregation transaction log and replication |
Snapshot of the current state of a set of messages followed by updates to those messages (for example, showing the current status of a set of orders when a UI starts and then showing real-time updates to those messages) | state of the world (SOW) sow_and_subscribe from client application |
Ensuring that a given message is processed once, by a single subscriber (for example, a workload distribution system) | message queues |
Replaying messages from a point in time | transaction log and bookmark subscription |
Transforming messages as they are published to AMPS | state of the world (SOW) and enrichment |
Producing aggregate data for a stream of messages | state of the world (SOW) and views or aggregated subscriptions |
Coordinating work across a set of independent workers who are each assigned discrete tasks | message queues |
Coordinating work across a set of workers who each update a portion of a record | state of the world (SOW) delta publish |
Providing highly-available messaging with multiple servers providing failover | transaction log and replication |
The scenarios above describe just a few of the more common scenarios in which AMPS is used. For messaging scenarios that aren’t described above, contact support@crankuptheamps.com for advice and guidance.