What is IBM Message Hub?
At its core, Message Hub is a fast, scalable, fully managed event distribution and messaging service, based on Apache Kafka.
How does Message Hub Work?
In Message Hub, applications send data by creating a message and sending it to a topic. These messages are maintained in a strongly ordered sequence and persisted to disk.
To receive messages, applications subscribe to a topic and choose to either receive all the topic's messages to a single consumer or to share the messages between a group of consumers.
Unlike traditional messaging systems, messages are not removed from the topic after they have been consumed. They remain persisted for a period of time determined on a per-topic basis. This design approach allows a set of application patterns that would have previously been harder to implement, such as event sourcing.
What can I do with Message Hub?
Message Hub is optimized for event ingestion into IBM Cloud and event stream distribution between your services and applications. As a result, it enables architects and developers to:
- Wire microservices together using open Apache Kafka protocol
- Publish event data to multiple applications to react in real time.
- Connect event streams to analytics engines to realize powerful insights.
- Archive event streams by sending to a longer term data store, for example, IBM Cloud Object Storage
What does IBM Message Hub manage on my behalf?
IBM Message Hub is a fully managed service that scales with you as your demands increase. You focus on building your best-of-breed app, and IBM manages the underlying event-driven platform for you.
How is IBM Message Hub different?
Message Hub is based on the open technology, Apache Kafka, rather than a proprietary implementation.
This has a couple of key benefits:
- Applications have transportability because of the open nature of the protocol. You are able to write your applications once and run them against any Apache Kafka platforms you are using.
- You immediately benefit from innovation in the community, which represents one of the leading groups of event-driven applications, but with the confidence of consuming these innovations in a fully supported managed service.
What is Apache Kafka?
Apache Kafka forms the reliable event-driven core of Message Hub. This open source project provides a publish-subscribe messaging system and is designed to be fault-tolerant, providing a high-throughput, low-latency platform for handling real-time data feeds. These characteristics make it ideal for use in a cloud environment.
IBM developers have been actively participating in the Apache Kafka community since 2015. Today, Kafka is used for building real-time data pipelines and streaming apps by thousands of companies. It is horizontally scalable, fault-tolerant and has many years of production experience. Learn more at https://kafka.apache.org/.
What are some common architectural patterns and use cases?
When you are looking to increase the responsiveness of your apps, event-driven technologies can help. Message Hub is based on Apache Kafka, which enables you to add the following capabilities to your application architectures.
1. Publish and subscribe: Read and write streams of data like a messaging system.
2. Process: Write scalable stream processing applications that react to events in real time.
3. Store: Store streams of data safely in a distributed, replicated, fault-tolerant cluster.
In addition to core Kafka integrations, Message Hub offers improved bridging between key source clients via the IBM Watson IoT offering and data stores such as IBM Cloud Object Storage. Simplifying these IBM Cloud integrations speeds your delivery and improves the overall management of your app.
What about using Message Hub with serverless computing?
IBM offers a full range of compute options including bare metal, VMs, Kubernetes containers and functions. While functions, or FaaS, is sometimes referred to as serverless computing, serverless is more than just functions. It opens the door to event-driven architectures capable of responding to asynchronous events and workflows.
Quickly building and integrating multidevice apps today is critical for today's enterprise IT developers. Whatever the compute model behind these apps, integrating the pub sub and event workflows is easier when you use Message Hub to manage them across the architecture.
Today's serverless apps often emanate from IoT use case architectures and demand real-time streaming of information through the app or architecture. IBM Message Hub, streaming analytics and functions services integrate easily across your architecture. In addition, Message Hub is integrated in the Watson IoT framework, helping you build out your event-driven architecture to the edge.
Where can I find information on key Message Hub concepts?
For a breakdown of the core concepts that apply to Message Hub, please see the following: https://console.bluemix.net/docs/services/MessageHub/messagehub010.html#about
Can I use it on premises or in other clouds?
You can use Message Hub within the IBM public cloud and connect from any platform or environment into Message Hub using the open protocol Kafka APIs that we support.
IBM's innovative cloud computing platform combines platform as a service (PaaS) with infrastructure as a service (IaaS) and includes a rich catalog of cloud services that can be easily integrated with PaaS and IaaS to build business applications rapidly.
Can I replicate data between regions?
We do not currently offer managed replication between Message Hub in different regions. However, you can either use open source tooling such as Mirror Maker to replicate your event streams between two clusters, or you can configure your application to write to two clusters simultaneously.
What finance models do you support?
Message Hub is available on the Standard plan on a pay-as-you-go basis. Visit the catalog page for up-to-date details on billing: https://console.bluemix.net/catalog/services/message-hub.
Where can I learn more about Message Hub and event-driven apps?
Here are some popular resources:
- Learn more in this overview: https://www.ibm.com/cloud/message-hub
- See the IBM Cloud Catalog listing: https://console.bluemix.net/catalog/services/message-hub
- Technical documentation is available in the getting started guide: https://console.bluemix.net/docs/services/MessageHub/index.html#messagehub
- For samples, take a look in the public GitHub repository: https://github.com/ibm-messaging/message-hub-samples
Get started on Message Hub
Experience the benefits of Message Hub for yourself.