All Products
Search
Document Center

Updates

Last Updated: Sep 27, 2019

As MQ has evolved over more than a decade, it has served a great number of Alibaba Cloud customers. We are grateful to all of you who have provided feedback and suggestions, helping to promote the development of MQ.

2019-01-23

Keywords: Resource isolation optimization (instance support) | Resource application process optimization | HTTP opening and support for multi-language clients | Migration of RAM authorization policies

Resource isolation optimization (instance support)

MQ provides instances for multi-tenancy isolation. Each user can purchase multiple instances in the same region and isolate the instances from each other logically or physically.

Note:
We recommend that you upgrade the ons-client to the latest version, which is 1.8.4.Final for Java SDK, 1.1.2 for C++ SDK, and 1.1.3 for .NET SDK.

MQ provides the following two types of instances:

  • Standard Edition: Instances are isolated logically. A maximum of eight instances can be created in a region.
  • Enterprise Platinum Edition: Instances are isolated physically. The number of instances that can be created in a region is not limited.

To be compatible with existing resources of existing users, MQ instances provide the following two types of namespaces:

  • Default instances (compatible with the existing resources of old users):

    • This type of instance has no separate namespace. The resource name must be globally unique both inside and outside the instance.
    • By default, an instance with no namespace is automatically generated for the existing resources of old users of MQ in the region where the resources reside.
    • You can configure the endpoint, which can be obtained on the Instances page in the MQ console, as follows:

      1. // Recommended configuration:
      2. properties.put(PropertyKeyConst.NAMESRV_ADDR, "xxxx");
      3. // Compatible configuration (not recommended. We recommend that you upgrade this configuration to the recommended configuration):
      4. properties.put(PropertyKeyConst.ONSAddr, "xxxx");
  • New instances:
    • Such an instance has a separate namespace. The resource name must be unique inside the instance, but can be the same as those inside other instances.
    • You can configure the endpoint, which can be obtained on the Instances page in the MQ console, as follows:
    • ons-client must be upgraded to the latest version, which is 1.8.4.Final for Java SDK, 1.1.2 for C++ SDK, and 1.1.3 for .NET SDK.
  1. // Recommended configuration:
  2. properties.put(PropertyKeyConst.NAMESRV_ADDR, "xxx");

Resource application process optimization

Previously, MQ had three types of resources: topic, producer ID, and consumer ID. Each two of the three resources are in N:N mapping, which was hard to grasp. Each time a topic was created, the topic had to be associated with a producer ID and a consumer ID. The process was too complex for medium- and large-sized enterprise customers.

To optimize the user experience and reduce access threshold for new users, the resource access application process has been simplified.

  • The resource application process has been optimized in the following two aspects:

    • Topic management (unchanged):
      • You need to apply for a topic. Topic is the first-level identifier for classifying messages.
    • Group management:
      • You no longer need to apply for a producer ID. Producer IDs and Consumer IDs are integrated into group IDs. In the MQ console, the producers module has been removed. The producers and consumers modules have been integrated into the groups module.
      • You do not need to associate the applied producer ID or consumer ID with a topic anymore. Instead, you only need to apply for a group ID and associate it with a topic directly in the code.
      • Compatibility:
        • The original list of producer IDs is not displayed, which does not affect the current service.
        • The consumer IDs started with “CID-“ or “CID_” that you have applied for can still be used and can be set in the code PropertyKeyConst.ConsumerId or PropertyKeyConst.GROUP_ID.
  • Sample code:

    Note:
    1. We recommend that you upgrade the ons-client to the latest version, which is 1.8.4.Final for Java SDK, 1.1.2 for C++ SDK, and 1.1.3 for .NET SDK.
    2. Existing producer IDs or consumer IDs can still be used and the current service is not affected. However, we recommend that you upgrade your instance configuration to the recommended configuration.

    • Recommended configuration: Integrate producer ID and consumer ID into group ID.

      1. // Set the PropertyKeyConst.GROUP_ID. The original PropertyKeyConst.ProducerId and PropertyKeyConst.ConsumerId are deprecated.
      2. properties.put(PropertyKeyConst.GROUP_ID, "the original CID-XXX or GID-XXX");
    • Compatible configuration: Use the producer ID to identify a producer and consumer ID to identify a consumer.

      1. // When a producer is created, you need to configure PropertyKeyConst.ProducerId.
      2. properties.put(PropertyKeyConst.ProducerId, "original PID-XXX or GID-XXX");
      3. // When a consumer is created, you need to configure PropertyKeyConst.ConsumerId.
      4. properties.put(PropertyKeyConst.ConsumerId, "original CID-XXX or GID-XXX");

HTTP opening and support for multi-language clients

MQ supports HTTP and RESTful, making it easy to use, fast to access, and powerful in cross-network access. Additionally, it supports clients developed in seven programming languages. For more information, see SDK guide (HTTP).

HTTP restrictions:

  • Currently, advanced feature messages are not supported, including ordered messages, transactional messages, and scheduled messages.
  • Currently, message trace query is not supported.
  • The group ID of TCP-based instances cannot be used for HTTP-based instances and vice versa. You need to create a group ID for TCP-based instances and HTTP-based instances separately.

Note: Currently, HTTP and multi-language clients are supported only in China (Hangzhou). HTTP and multi-language clients will soon be supported in other regions.

Migration of RAM authorization policies

Based on the unified management requirements of Alibaba Cloud RAM, the primary-sub-account authorization function of MQ will be stopped on April 2, 2019. Please migrate the permission configurations of your accounts as soon as possible.

  • We recommend that you configure RAM policies as soon as possible. For more information, see Grant permissions to sub-accounts.
  • Resources that have been authorized are not affected and the service can still be used. However, we recommend that you go to the RAM console for configuration and management.