Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive

Principios básicos de Kafka

Actualización más reciente 2023-04-14 GMT+08:00

Kafka es un servicio de registro de confirmación de código abierto, distribuido, particionado y replicado. Kafka es mensajería de publicación y suscripción, repensada como un registro de confirmación distribuido. Proporciona características similares a Java Message Service (JMS) pero otro diseño. Cuenta con resistencia de mensajes, alto rendimiento, métodos distribuidos, soporte para múltiples clientes y tiempo real. Se aplica tanto al consumo de mensajes en línea como fuera de línea, como la recopilación regular de mensajes, el seguimiento de la actividad del sitio web, la agregación de datos estadísticos de operación del sistema (datos de supervisión) y la recopilación de registros. Estos escenarios involucran grandes cantidades de recopilación de datos para servicios de Internet.

Estructura de Kafka

Los productores publican datos sobre temas y los consumidores se suscriben a los temas y consumen mensajes. Un broker es un servidor en un clúster de Kafka. Para cada topic, el clúster de Kafka mantiene particiones para la escalabilidad, el paralelismo y la tolerancia a fallas. Cada partición es una secuencia ordenada e inmutable de mensajes que se agrega continuamente a - un registro de confirmación. A cada mensaje de una partición se le asigna un ID secuencial, que se denomina desplazamiento.

Figura 1 Arquitectura de Kafka
Tabla 1 Descripción de la arquitectura de Kafka

Nombre

Descripción

Broker

Un broker es un servidor en un clúster de Kafka.

Topic

Un topic es un nombre de categoría o fuente en el que se publican mensajes. Un topic se puede dividir en varias particiones, que pueden actuar como una unidad paralela.

Partition

Un partition es una secuencia ordenada e inmutable de mensajes que se agrega continuamente a - un registro de confirmación. A cada uno de los mensajes de las particiones se le asigna un número de ID secuencial denominado desplazamiento que identifica de manera única cada mensaje dentro de la partición.

Producer

Los productores publican mensajes a un tema de Kafka.

Consumer

Los consumidores se suscriben a temas y procesan el feed de mensajes publicados.

Figura 2 muestra las relaciones entre módulos.

Figura 2 Relaciones entre módulos de Kafka

Los consumidores se etiquetan a sí mismos con un nombre de grupo de consumidores, y cada mensaje publicado en un tema se envía a una instancia de consumidor dentro de cada grupo de consumidores que se suscribe. Si todas las instancias de consumidores pertenecen al mismo grupo de consumidores, las cargas se distribuyen uniformemente entre los consumidores. Como se muestra en la figura anterior, el Consumer1 y el Consumer2 trabajan en modo de carga compartida; el Consumer3, Consumer4, Consumer5, and Consumer6 trabajan en modo de carga compartida. Si todas las instancias de consumidor pertenecen a diferentes grupos de consumidores, los mensajes se transmiten a todos los consumidores. Como se muestra en la figura anterior, los mensajes en el Tema 1 se transmiten a todos los consumidores en Consumer Group1 y Consumer Group2.

Para obtener más información sobre la arquitectura y los principios de Kafka, consulte https://kafka.apache.org/24/documentation.html.

Principio

  • Confiabilidad de mensaje

    Cuando un Kafka broker recibe un mensaje, almacena el mensaje en un disco de forma persistente. Cada partición de un tema tiene varias réplicas almacenadas en diferentes nodos de agente. Si un nodo es defectuoso, se pueden utilizar las réplicas de otros nodos.

  • Alto rendimiento

    Kafka proporciona un alto rendimiento de las siguientes maneras:

    • Los mensajes se escriben en discos en lugar de almacenarse en caché en la memoria, utilizando completamente el rendimiento secuencial de lectura y escritura de discos.
    • El uso de zero-copy elimina las operaciones de E/S.
    • Los datos se envían por lotes, lo que mejora la utilización de la red.
    • Cada tema se divide en varias particiones, lo que aumenta el procesamiento simultáneo. Las operaciones de lectura y escritura simultáneas se pueden realizar entre múltiples productores y consumidores. Los productores envían mensajes a las particiones especificadas en función del algoritmo utilizado.
  • Mecanismo de notificación-suscripción de mensaje

    Los consumidores se suscriben a temas interesados y consumen datos en modo pull. Los consumidores pueden elegir el modo de consumo, como el consumo de lotes, el consumo repetido y el consumo desde el final, y controlar la velocidad de extracción del mensaje en función de la situación real. Los consumidores necesitan mantener los registros de consumo por sí mismos.

  • Escalabilidad

    Cuando se agregan nodos de broker para ampliar la capacidad del clúster de Kafka, los brokeres recién agregados se registran con ZooKeeper. Después de que el registro es exitoso, los procedimientos y los consumidores pueden detectar el cambio de manera oportuna y hacer ajustes relacionados.

Características de código abierto

  • Confiabilidad

    Se proporcionan métodos de procesamiento de mensajes tales como At-Least Once, At-Most Once y Exactly Once. El estado de procesamiento de mensajes es mantenido por los consumidores. Kafka necesita trabajar con la capa de aplicación para implementar Exactly Once.

  • Alto rendimiento

    Se proporciona un alto rendimiento para la publicación de mensajes y la suscripción.

  • Persistencia

    Los mensajes se almacenan en discos y se pueden usar para el consumo por lotes y programas de aplicación en tiempo real. La persistencia y la replicación de los datos evitan la pérdida de datos.

  • Distribución

    Un sistema distribuido es fácil de expandir externamente. Todos los producers, brokers, and consumers apoyan la implementación de múltiples clústeres distribuidos. Los sistemas se pueden escalar sin detener el funcionamiento del software o apagar las máquinas.

Kafka UI

Kafka UI proporciona servicios web de Kafka, muestra información básica sobre módulos funcionales como brokers, topics, partitions, y consumers en un clúster de Kafka, y proporciona entradas de operación para comandos de Kafka comunes. Kafka UI reemplaza a Kafka Manager para proporcionar servicios web seguros de Kafka que cumplen con las especificaciones de seguridad.

Puede realizar las siguientes operaciones en Kafka UI:

  • Comprobar el estado del clúster (topics, consumers, offsets, partitions, replicas, y nodes).
  • Redistribuir las particiones en el clúster.
  • Crear un topic con configuraciones de topic opcionales.
  • Eliminar un tema (compatible cuando delete.topic.enable está establecido en true para el servicio Kafka).
  • Agregar particiones a un tema existente.
  • Actualizar las configuraciones de un tema existente.
  • Opcionalmente, habilitar el sondeo de JMX para métricas a nivel de broker y a nivel de topic.

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios