-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add link to IBM MQ Observer sample for Code Engine
Signed-off-by: Soheel Chughtai <[email protected]>
- Loading branch information
Showing
1 changed file
with
26 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# IBM MQ Observer | ||
|
||
## Introduction | ||
This sample demonstrates how IBM Cloud Code Engine serverless jobs and applications can be scaled in relation to the depth of IBM MQ queues. The sample is based on an observer pattern that periodically inspects the depth of queue manager hosted queues that Code Engine applications have registered an interest for. | ||
|
||
## Key features | ||
- The observer sample uses the IBM MQ REST admin API to monitor queue depths. | ||
- The observer sample can be configured to monitor multiple queues across multiple queue managers. | ||
- The observer sample may be hosted on Code Engine or within an external runtime environment. | ||
- The observer sample can be pre-loaded with static list of queue manager : queue pair registrations on start-up. | ||
- The observer sample supports 'dynamic registrations' where Code Engine jobs and applications register for queue depth notifications at runtime. | ||
- Applications can dynamically revoke their registrations at runtime. | ||
- Code Engine Applications can register as http URL endpoints or Code Engine job names. | ||
- By default registration data is ephemeral (held in memory), but the sample can be optionally configured to use a persistent store. | ||
- The time duration between validating registrations and checking queue depths i.e., Cycle Times, is customisable through environment variables, and configmaps. | ||
- The observer sample includes a back-off feature to reduce overhead where Code Engine applications and jobs persistently fail to start. | ||
- The observer sample provides notification only, leaving application and job developers to determine how to consume and process messages. | ||
- A message consumer sample is provided, that showcases using the IBM MQ API to process messages. | ||
- The observer and message consumer samples are implemented in Go. | ||
- A ‘deploy script’ is provided to simplify the creation of secrets, configmaps and deployment of the observer and sample consumer as a Code Engine job definition. | ||
|
||
## IBM MQ Observer repository | ||
You can find the IBM MQ Observer for Code Engine in the [IBM Messaging Code Engine Observer repository](https://github.com/ibm-messaging/mq-code-engine-observer) | ||
|
||
## IBM MQ Observer tutorial | ||
This [IBM Developer tutorial](https://developer.ibm.com/tutorials/mq-write-and-run-serverless-mq-applications/) provides a step-by-step guide on how to use the observer sample |