In the era of the digital economy, rapid response to market changes is the key to developing sustainable competitiveness; the drive for more enterprises to embrace microservices has made the communication among microservices become an important issue. Red Hat has recently defined a new series of AMQ components, consisting of existing the components AMQ Streams, AMQ Broker, AMQ Clients, and others, to form a complete Message Queue ecosystem to help users accelerate the construction of distributed messaging mechanisms on OpenShift container platforms.
According to Hazel Shen, solutions architect of Red Hat Taiwan, besides a well-developed program logic, a good application system also needs a well-structured stream architecture. Therefore, Red Hat specifically proposes 4 levels of different scenarios as design reference for users to quickly get started with building a messaging mechanism.
Level 1 is the prototype stage with a focus on function development for program logic to have direct contacts with the database. Level 2 aims to reduce database load by adding a cache layer between the database and programs. Level 3 is the establishment of a steaming mechanism for judging the time sequence and more formatted data contents for the architecture to develop the object relational mapping (ORM) with various programming languages and develop programs for building a primitive messaging mechanism. Level 4 is the rapid establishment of a more stable messaging mechanism to deal with the expanding service scale, thus independently establishing a messaging mechanism platform.
With AMQ Component products, users can access corresponding components at any level to significantly shorten the process from level 1 to 4.
According to Shen, Red Hat AMQ has inherited various open source projects, including the famous distributed messaging project Apache Kafka, where Kafka itself is a cluster of the messaging mechanism. In programming practice, applications and services have individual formats and even protocols. Therefore, Red Hat collects related protocol conversion tools with AMQ for users to select the same cluster set methods to manage these tools based on their own needs.
How to use AMQ in the OpenShift environment Users can install a component by simply clicking it with a mouse without the need to spend time on studying the underlying structure or learning how to adjust the setup files to significantly lower reduce the entry threshold and learning curve. This is the biggest advantage of AMQ.
The applicability of AMQ covers the application scenarios of distribution systems for data analysis, machine learning, IoT, e-commerce, and financial transaction services. While data is the common source of service value of these scenarios, it is necessary to ensure that data is stored and data accuracy is maintained constantly. For this reason, users will face various problems when building distributed systems for these scenarios.
First is the authentication problem. The legitimate access qualification of users (including people and programs) must be authenticated. Next is data storage. The messaging mechanism platform must be able to store data accurately. Then there is scaling. If there are insufficient resources, the messaging mechanism platform must proactively dispatch new resources or effectively make reasonable allocation of limited resources. Lastly, a set of APIs must be provided that facilitate external users (such as programs or employees of other departments) to use the messaging mechanism. AMQ Components were created for solving the above problems.
AMQ Streams is the key component for users to build a messaging system. It has been packaged as operators for stand-alone uses. Users can build Kafka clusters and corresponding topics with AMQ Streams, designate the Kafka cluster address and topic name in the setup files, and activate AMQ.
If users need to design multiple message queue clusters, then they can establish routing with another component called AMQ Interconnect to link all clusters. When using different servers in the same cluster, as languages and protocols often need to be converted, AMQ Broker can connect different routers to fulfill the demand for service protocol conversion.
If users need to establish a secure authentication mechanism to authenticate user legitimacy, AMQ Clients can be used to provide the legitimate certificate for AMQ to run message interchange to ensure the security of interchange channels. Regardless of their functions, these components all comply with the general standards of container platforms to facilitate users implementing the setup with these standards without the need to learn the setup methods of individual components.
Shen reaffirmed that helping users overcome towering learning curves is a unique feature emphasized in AMQ. Besides providing simple and easy-to-understand installation and the day-2 automated operation and maintenance mechanism, it also helps development teams to expand Message Queue resources based on actual service needs. Together with OpenShift’s resource limiting mechanism, it allows OpenShift to actively adjust the scale of AMQ Queues with limited resources. In other words, AMQ is provided with “ready-to-use” benefits for users to directly use Red Hat’s optimized settings to build a complete stream for use by applications within just 10 minutes. Therefore, development teams can easily turn good ideas for architecture design into reality without being limited by the entry threshold. Otherwise, by following the traditional way, it would take hours from document review to mechanism completion.
“AMQ will benefit those with Message Queue-related skills and construction experience,” said Hazel Shen. AMQ enables developers to focus on service development without worrying about infrastructure construction. This is a great benefit.
So far, many successful cases have been completed with AMQ. For example, Chunghwa Telecom rapidly handled the demand of a large volume of users and ensured data accuracy and sequence with AMQ’s distributed Message Queue during the iPhone 12 rush, winning the 2020 Asia-Pacific Innovation Award from Red Hat.
It is worth noting that Red Hat has designed a Partner Program for potential partners, stating that organizations with a specific number of Red Hat Certified developers will have the opportunity to become independent software vendor partners. In addition, Red Hat also provides developers with AMQ-related training (AD440) and certification examination (EX440). Along OpenShift-related certification, Red Hat helps developers develop complete capabilities in design planning, cluster establishment, and program development for distributed Message Queue to build the optimal stream architecture for enterprises and accelerate the nurturing of various new business types.