ALIBABA CLOUD → STACKIT · MESSAGINGARCHITECTUUR

Alibaba Cloud Kafka, RabbitMQ en RocketMQ op STACKIT

Drie brokers, drie verschillende antwoorden. In de run achter deze pagina wordt ApsaraMQ for RabbitMQ een STACKIT RabbitMQ (REPLATFORM), ApsaraMQ for Kafka een zelfbeheerde Kafka-compatibele broker op SKE (CONTAINERIZE) en is ApsaraMQ for RocketMQ een REDESIGN met zekerheidsniveau LOW, omdat berichtvolgorde en vertraagde berichten opnieuw moeten worden ontworpen. De vraag aan de architect is welk brokermodel elke workload werkelijk nodig heeft.

Drie brokers, beoordeeld

Een streamingomgeving, voor deze pagina geschreven en door StackToIT beoordeeld op 4 november 2026. Links: de Kafka- en RabbitMQ-resources van de invoer. Rechts: een fragment van assessment.json voor alle drie de brokers, met de waarden die de run schreef. assessment.json staat op één regel, dus het paneel toont geselecteerde velden per eenheid, ingesprongen en genest zoals in het bestand, met ongewijzigde waarden.

Voorbeeldinvoermain.tf
resource "alicloud_alikafka_instance" "events" {
  name          = "orders-events"
  partition_num = 50
  disk_type     = 1
  disk_size     = 500
  deploy_type   = 5
  io_max        = 20
  vswitch_id    = alicloud_vswitch.data.id
}

resource "alicloud_amqp_instance" "jobs" {
  instance_name  = "billing-jobs"
  instance_type  = "professional"
  max_tps        = 1000
  queue_capacity = 50
  support_eip    = false
}
StackToIT-assessmentassessment.json
[
  {
    "id": "alicloud_amqp_instance.jobs",
    "result": {
      "class": "REPLATFORM",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT RabbitMQ"
      },
      "reason": "Alibaba Cloud Message Queue for RabbitMQ becomes STACKIT RabbitMQ. Exchanges, queues and credentials are recreated, and messages in flight are drained before cut-over."
    }
  },
  {
    "id": "alicloud_alikafka_instance.events",
    "result": {
      "class": "CONTAINERIZE",
      "confidence": "MEDIUM",
      "target": {
        "service": "a self-managed Kafka-compatible broker on SKE"
      },
      "reason": "STACKIT has no managed Kafka service. The broker runs self-managed on SKE, or the messaging design changes to RabbitMQ."
    }
  },
  {
    "id": "alicloud_rocketmq_instance.txn",
    "result": {
      "class": "REDESIGN",
      "confidence": "LOW",
      "target": {
        "service": "STACKIT RabbitMQ"
      },
      "reason": "STACKIT has no RocketMQ service. Ordered and delayed message semantics have to be redesigned for RabbitMQ, or the broker runs self-managed on SKE."
    }
  }
]
  • RabbitMQ: exchanges en queues opnieuw aangemaakt

    De reden die de run vastlegt: exchanges, queues en inloggegevens worden opnieuw aangemaakt en berichten in transit worden voor de cutover leeggemaakt. StackToIT neemt hier niets van over.

  • Kafka: de dimensionering staat in de invoer

    De invoer noemt 50 partities, een schijf van 500 GB en een io_max van 20. Dat is het uitgangspunt voor het brokerontwerp op SKE, geen aanbeveling.

  • RocketMQ: het laagste zekerheidsniveau

    De RocketMQ-instance is de enige eenheid van de run met zekerheidsniveau LOW. De run wijst RabbitMQ aan als doel, of een zelfbeheerde broker op SKE.

De opties per broker

Wat de run classificeert, het alternatief dat de run noemt en de afweging die u maakt. De kolom met de afweging noemt algemene praktijk waar die verder gaat dan de run.

Bronbroker en optieWat het betekentAfweging
RabbitMQ naar STACKIT RabbitMQREPLATFORM. Een managed broker op basis van open-source RabbitMQ die AMQP en andere protocollen spreekt.Minste inspanning. Controleer functies die alleen de Alibaba Cloud-dienst toevoegt, zoals ingebouwde vertraagde berichten.
Kafka naar een zelfbeheerde broker op SKECONTAINERIZE. Kafka-compatibele brokers draaien op uw SKE-cluster.Clients kunnen het Kafka-protocol blijven gebruiken. U beheert brokers, opslag, upgrades en monitoring.
Kafka naar RabbitMQHet alternatief dat de run noemt: het messagingontwerp verandert.Een managed service, maar een queuemodel vervangt partities en consumer groups. De applicatie moet worden aangepast.
RocketMQ naar RabbitMQREDESIGN, zekerheidsniveau LOW. Berichtvolgorde en vertraagde berichten worden opnieuw ontworpen.Managed service. Elk topic met volgorde-, vertragings- of transactiesemantiek heeft een eigen antwoord nodig.
RocketMQ naar een zelfbeheerde broker op SKEHet tweede pad dat de run noemt.Houdt de brokersemantiek dichter bij de bron. U beheert de broker zelf.

De run noemt geen managed Kafka- of RocketMQ-dienst op STACKIT. Voegt STACKIT zo'n dienst toe, dan classificeert een latere StackToIT-build deze twee eenheden anders; voer het assessment dan opnieuw uit in plaats van op deze pagina te vertrouwen.

Wat verschilt tussen de bronbrokers en de doelen

  • RabbitMQ-functies van de dienst

    ApsaraMQ for RabbitMQ is gedocumenteerd als compatibel met AMQP 0-9-1 en voegt vertraagde berichten (tot een dag) en een retrybeleid toe: mislukte berichten worden eenmaal per minuut opnieuw geprobeerd, tot 16 keer, en gaan daarna naar een dead-letter queue. Open-source RabbitMQ heeft geen native vertraagde queue.

  • STACKIT RabbitMQ

    Beschreven als een managed broker op basis van het open-sourceproject, met AMQP, STOMP, MQTT, HTTP en WebSockets, aan te maken in de portal of de Cloud Foundry-marketplace. De geprijsde plannen op de productpagina zijn replicaplannen met drie nodes.

  • Kafka-clients

    ApsaraMQ for Kafka ondersteunt Apache Kafka 0.10.x tot 3.x met standaardclients, zodat producers, consumers en Kafka Connect-pipelines het Kafka-protocol gebruiken. Daardoor is een zelfbeheerde broker een realistisch doel.

  • Berichttypen van RocketMQ

    Een RocketMQ 5.x-topic ondersteunt één berichttype: normaal, FIFO, vertraagd, transactie of het nieuwere Lite-type, en een 5.x-broker weigert een bericht waarvan het type niet bij het topic past. Uw topiclijst laat dus zien welke semantiek elk topic nodig heeft.

  • Consumer groups en offsets

    Kafka-consumers houden hun positie per partitie bij en meerdere groepen kunnen één topic onafhankelijk lezen. Een queuemodel kent geen equivalent van een onafhankelijke groep die dezelfde log leest. Daarom betekent het RabbitMQ-alternatief van de run voor Kafka dat het messagingontwerp verandert, niet alleen het endpoint.

  • State is geen dataverplaatsing

    De run noemt voor deze eenheden geen dataverplaatsing: topics en queues worden niet als stateful gelezen. Definities en berichten in transit moet u zelf nog plannen.

Hoe u per workload beslist

  1. 1. Inventariseer topics, queues en groepen

    Som elk topic of elke queue op met de producers, de consumers en de semantiek die nodig is: volgorde, vertraging, replay, transacties. De Terraform-code toont de instance, niet deze gegevens.

  2. 2. Scheid eventstreams van jobs

    Job- en taakverkeer past bij een RabbitMQ-queue. Eventstreams die meerdere consumers opnieuw afspelen, wijzen op een Kafka-compatibele broker.

  3. 3. Bepaal wie de broker beheert

    Zelfbeheerd op SKE is een dienst die u draait: upgrades, schijf, monitoring, piketdienst. Reken die kosten mee voordat u hiervoor kiest in plaats van een managed redesign.

  4. 4. Plan de cutover per workload

    In de praktijk: leegmaken of dubbel publiceren, eerst de consumers omschakelen, daarna de producers. Dit is algemene praktijk, geen stap die de run uitvoert.

  5. 5. Leg de eigenaren vast

    De run plaatst de drie brokers in één werkpakket voor de Platform Architect en het netwerk in een ander voor de Network Architect.

Vragen van platformteams

Is er een managed Kafka op STACKIT?

De run vermeldt dat STACKIT geen managed Kafka-dienst heeft. De broker draait dus zelfbeheerd op SKE, of het messagingontwerp verandert naar RabbitMQ.

Kunnen RocketMQ-topics ongewijzigd naar RabbitMQ?

Nee. De run vermeldt dat STACKIT geen RocketMQ-dienst heeft en dat berichtvolgorde en vertraagde berichten voor RabbitMQ opnieuw moeten worden ontworpen, of dat de broker zelfbeheerd op SKE draait.

Wat gebeurt er met berichten in transit?

Voor RabbitMQ zegt de run dat ze voor de cutover worden leeggemaakt. Voor Kafka en RocketMQ noemt de run geen methode: queue- en topicdiensten worden niet als stateful gelezen, dus hoe u de backlog leegmaakt of spiegelt, plant u zelf. Retentie en omvang van de backlog staan ook niet in de Terraform.

Schrijft de run Terraform voor de nieuwe brokers?

Ja. StackToIT schrijft een STACKIT-Terraform-concept voor de nieuwe brokers, dat uw architecten beoordelen. De drie brokers staan in één werkpakket.

Bronnen

Uw volgende stap: STACKIT.

Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.

Laat uw gegevens achter, onze specialisten nemen contact met u op.

Liever zelf een e-mail sturen? connect@stacktoit.com

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring