Lineamientos

En esta sección se tiene definidos los lineamientos y procesos necesarios para que los equipos puedan gestionar todas las necesidades de creación, administración y evolución de sus implementaciones sobre Kafka.

​​Nombramiento de Tópicos

Estructura de nombramiento

​El nombramiento de topics de Kafka deberá seguir la siguiente estructura:​

<message type>.<dataset name>.<data name>​

Valores posibles para message type

  • Logging: para topics cuya finalidad es el registro de logs (slf4j, syslog, etc) 
  • Queuing: para topics que se usarán en escenarios clásicos basados en colas

  • Tracking: para eventos de rastreo tales como acciones del usuario dando clic, visitas a páginas, visitas a publicidad y otros.

  • etl/db: para escenarios tipo ETL y CDC que alimentan bases de datos.

  • Streaming: para topics intermedios creados para flujos de datos

  • Push: para escenarios en que los datos se envían desde entornos fuera de línea (computación por lotes) a entornos en línea.

  • User: para datos específicos del usuario, tales como temas de prueba y establecer puntos de referencia.

Valores posibles dataset name

  • Para definir el valor para <dataset name>​ se puede equiparar el valor al nombre que se daría a un dataset en un sistema tradicional de base de datos relacionales.

  • Se utiliza como una categoría para agrupar topics.

​Valores posibles para data name​

  • El <data name>​ es equivalente al nombre que se le asignaría a una tabla en un sistema tradicional de base de datos relacionales

C​​​reación de tópico en ambiente de pruebas

A continuación se indican los lineamientos para solicitar la creación de topics en el ambiente de pruebas de Kafka.

​Ambiente de Pruebas
Autorizados para solicitar creación de tópicos
  • La solicitud de creación de topics debe ser realizada por el equipo que construirá el productor.
  • Cualquier integrante de equipo del equipo que construirá el productor puede hacer la solicitud.
  • Medio para solicitar la creación de tópicos Correo electrónico con la solicitud dirigido a:
  • Soporte Kafka: [kafka.support@satrack.com]
  • Mesa de ayuda: [mesadeayuda@satrack.com]
  • Atributos mínimos requeridos para la creación de tópicos Atributos mínimos requeridos:
  • Nombre del topic
  • Número de particiones
  • Factor de réplica
  • Se debe seguir el estándar de nombramiento definido para los topics
  • Si el número de particiones solicitadas para el topic supera el número de brokers existentes en el ambiente, el solicitante debe justificar la razón por la cual lo requiere así.
  • Si el factor de réplica es mayor a 1, se requiere justificar la razón por la cual se requiere así.
  • Si en la solicitud no se incluyen otros atributos adicionales a estos, se debe crear el topic usando los valores por defecto para esos otros atributos no especificados.
  • Nombramiento de Tópicos
  • Ver capítulo [Kafka - Nombramiento de tópicos]
  • Atributos adicionales deseables para la creación de tópicos Los siguientes son los atributos adicionales que podrían ser solicitados por los equipos para la creación del tópico:
  • Política de retención – Tiempo
  • Política de retención – Espacio en disco
  • Los valores por defecto establecidos para estos atributos adicionales son:
  • Política de retención – Tiempo: 24 horas
  • Política de retención – Espacio en disco: 45 MB por partición
  • Si los equipos solicitan valores de espacio o de tiempo mayor al default, se puede otorgar el espacio por un tiempo limitado, según criterio de TI, si es para efectos de realizar alguna verificación de desempeño específica. Luego del período acordado, se vuelve al valor de estos atributos a su valor definido por defecto. Desde TI se deberá analizar el impacto de la solicitud en cuanto al uso de los recursos Disco, Memoria y CPU, para proceder a aprovisionar más recursos de ser necesario o revisar con el equipo la necesidad del cambio a los atributos adicionales.
    Período de tiempo anticipado con que se debe solicitar la creación del tópico Se debe gestionar la solicitud con 2 días de antelación al momento en que necesitan tener aplicado el cambio en el ambiente de pruebas.
    Área responsable de realizar la creación de los tópicos IT
    Tiempo de respuesta debe cumplir el área responsable de crear los tópicos 48 horas
    Medio para solicitar cambios a un topic existente Correo electrónico con la solicitud dirigido a:
  • Soporte Kafka: [kafka.support@satrack.com]​
  • Mesa de ayuda: [mesadeayuda@satrack.com]
  • Se debe seguir los lineamientos definidos para los atributos requeridos y opcionales establecidos para la creación de tópicos.

    Creación de tópico en a​​mbiente de producción​​

    A continuación se definene los lineamientos para la solicitud de la creación o modificación de topics para ambiente de producción de Kafka. 

    Ambiente de Producción
    Autorizados para solicitar creación de tópicos
  • La solicitud de creación de topics debe ser realizada por el equipo que construirá el productor.
  • El Líder Técnico o Arquitecto del equipo que construirá el productor tiene la responsabilidad de hacer la solicitud.
  • Medio para solicitar la creación de tópicos El medio definido para aprobar la creación de topics en ambiente de producción es el Comité de Cambios. El equipo que tiene la necesidad de solicitar cambios sobre Kafka debe enviar a los siguientes correos la solicitud de cambios:
  • Soporte Kafka: [kafka.support@satrack.com]
  • Mesa de ayuda: [mesadeayuda@satrack.com]
  • Comité de Cambios: [comite.cambios@satrack.com]
  • La solicitud debe ser enviada a estos correos por tardar con 2 DIAS de antelación a la realización del Comité de Cambios en que se va a presentar formalmente la solicitud, esto es: lunes al mediodía o si el lunes es festivo, viernes al mediodía. Esto con el fin de poder realizar un análisis previos de los atributos con los que se está solicitando la creación del topic y hacer las recomendaciones previas necesarias y así tener una mayor posibilidad de aceptación del cambio en el Comité de Cambios.
  • La solicitud de cambio para la creación del topic debe hacerse usando los actuales formatos establecidos por el Comité de Cambios.
  •  
  • En caso de requerirse la urgente creación de un topic, se debe conversar el tema directamente con TI y determinar con ellos si se cita a Comité de Cambios extraordinario, previa revisión de ellos de los valores para los atributos para crear el tópico.
  • Atributos mínimos requeridos para la creación de tópicos Atributos mínimos requeridos:
  • Nombre del tópico
  • Número de particiones ver [Kafka - ¿Cómo definir el número de particiones necesarias?]
  • Factor de réplica
  • Se debe seguir el estándar de nombramiento definido para los topics.
  • Si el número de particiones solicitadas para el topic supera el número de brokers existentes en el ambiente, el solicitante debe justificar la razón por la cual lo requiere así.
  • Si el factor de réplica es mayor a 1, se requiere justificar la razón por la cual se requiere así.
  • Si en la solicitud no se incluyen otros atributos adicionales a estos, se debe crear el topic usando los valores por defecto para esos otros atributos no especificados.
  • Nombramiento de Topics Ver [Kafka - Nombramiento de tópicos]
    Atributos adicionales deseables para la creación de tópicos Los siguientes son los atributos adicionales que podrían ser solicitados por los equipos para la creación del tópico:
  • Política de retención – Tiempo
  • Política de retención – Espacio en disco
  • Los valores por defecto establecidos para estos atributos adicionales son:
  • Política de retención – Tiempo: 24 horas
  • Política de retención – Espacio en disco: 45 MB por partición
  • Si los equipos solicitan valores de espacio o de tiempo mayor al default, desde TI se deberá validar el impacto que esto tiene en los recursos aprovisionados y se revisará con el equipo solicitante las razones de la solicitud. Desde TI se deberá analizar el impacto de la solicitud en cuanto al uso de los recursos Disco, Memoria y CPU, para proceder a aprovisionar más recursos de ser necesario.
    Período de tiempo anticipado con que se debe solicitar la creación del tópico
  • Según la programación de realización del Comité de Cambios.
  • Se debe cumplir las políticas actuales de presentación de solicitudes de cambios al Comité y la definición del numeral anterior.
  • Área responsable de realizar la creación de los tópicos
  • IT
  • Tiempo de respuesta debe cumplir el área responsable de crear los tópicos
  • 48 horas luego de aprobada por el Comité de Cambios la solicitud de creación del topic.
  • Medio para solicitar cambios a un topic existente
  • El medio definido para aprobar la creación de topics en ambiente de producción es el Comité de Cambios.
  • El equipo que tiene la necesidad de solicitar cambios sobre Kafka debe enviar a los siguientes correos la solicitud de cambios:
  • Soporte Kafka: [kafka.support@satrack.com]
  • ​Mesa de ayuda: [mesadeayuda@satrack.com]
  • Comité de Cambios: [comite.cambios@satrack.com]
  • La solicitud debe ser enviada a estos correos por tardar con 2 DIAS de antelación a la realización del Comité de Cambios en que se va a presentar formalmente la solicitud, esto es: lunes al mediodía o si el lunes es festivo, viernes al mediodía. Esto con el fin de poder realizar un análisis previos de los atributos con los que se está solicitando la creación del topic y hacer las recomendaciones previas necesarias y así tener una mayor posibilidad de aceptación del cambio en el Comité de Cambios.
  • La solicitud de cambio para la creación del topic debe hacerse usando los actuales formatos establecidos por el Comité de Cambios.
  • En caso de requerirse la urgente modificación de un topic, se debe conversar el tema directamente con TI y determinar con ellos si se cita a Comité de Cambios extraordinario, previa revisión de ellos de los valores para los atributos para modificar el tópico.
  • Paso a producción de componentes que usan topics de Kafka que ya existen Cuando se requiera pasara a producción componentes de software que hagan uso de topics que ya existen en Kafka, ya sea para producir en ellos o para consumir de ellos, se deberá: ​​Enviar la solicitud de cambio a los siguientes correos:
  • Soporte Kafka: kafka.support@satrack.com
  • Mesa de ayuda: mesadeayuda@satrack.com
  • Comité de cambios: comite.cambios@satrack.com
  • La solicitud debe ser enviada a estos correos por tardar con 2 DIAS de antelación a la realización del Comité de Cambios en que se va a presentar formalmente la solicitud, esto es: lunes al mediodía o si el lunes es festivo, viernes al mediodía. Esto con el fin de que se pueda hacer un análisis de cómo se ve impactado el ambiente de Kafka en recursos con la nueva interacción con los topics existentes. De esta forma, se podrá identificar riesgos de manera temprana y hacer las recomendaciones previas necesarias para así tener una mayor posibilidad de aceptación del cambio en el Comité de Cambios​ El documento de solicitud de cambio deberá incluir la siguiente información sobre los topics existentes a usar:
  • Nombre de los topic ya existentes que serán usados por los componentes de software a liberar
  • Tipo de uso que se hará de los topics: para producir o para consumir
  • Volumen de datos que se espera producir/consumir de ese topic
  • La solicitud de cambio para la creación del topic debe hacerse usando los actuales formatos establecidos por el Comité de Cambios.​
  • ​​​​Nombramiento de Grupos de Consumo​

    Estructura de nombramiento

    El nombramiento de grupos de consumo debe seguir la siguiente estructura:

    <ConsumerComponentName>.<ConsumerMicroserviceName>.<ConsumerGroupID>

    Valores posibles para ConsumerComponentName

    Este elemento corresponde al nombre del componente que realiza el consumo.

    Se recomienda que se trate de ser lo más específico posible para poder identificar el componente con facilidad.

    ​​Ejemplo: 

    Como en un Cloud Service podemos tener varios worker Roles creados, en este campo deberíamos poder identificar el worker que está haciendo el consumo. ​

    • Nombre del CloudService: w2clowrlocation 
    • ​WorkerName: Satrack.Loc.Worker.location 

    El nombre sugerido a asignar al <ConsumerComponentName> sería: w2clowrlocation-SatrackLocWorker 

    Valores posibles para ConsumerMicroserviceName

    Este elemento es el nombre del microservicio al que pertenece el componente que realiza el consumo.

    Valores posibles para ConsumerGroupID

    Es un identificador para el grupo de consumo. 

    Este valor puede ser un GUID, la fecha de creación en formato fileTime o un string que identifique el grupo. 

    No debe contener el carácter punto "."

    Cuando el grupo de consumo sea para efectos de pruebas, el <ConsumerGroupID> debe ser finalizado con el texto "-test".

    ​Ejemplo​​​​​ de nombramiento

    Producción:

    w2clowrlocation-SatrackLocWorker.location.1 ​

    ​​​Pruebas:

    w2clowrlocation-SatrackLocWorker.location.1-test 

    ​​​​​​​​​Creación de grupos de consumo en ambiente de pruebas y producción​​​

    ​Ambiente de pruebas y producción
    Autorizados para solicitar validación en la creación del grupo de consumo
  • La creación de grupos de consumo puede ser realizada por cualquier miembro de los equipos de desarrollo.
  • Medio para solicitar la validación del nombre del grupo de consumo​
  • El medio definid​​o para dar el aval a la creación de los grupos de cinsumno es el correo eectrónico.
  • El equipo que tiene la necesidad de crear el grupo de consumo, debe enviar una notificación a los siguientes correos:
  • Soporte Kafka: [kafka.support@satrack.com]
  • Mesa de ayuda: [mesadeayuda@satrack.com]
  • Atributos mínimos requeridos para la creación de grupos de consumo Atributos mínimos requeridos:
  • Nombre del grupo de consumo
  • Datos de límites para la creación del sensor PRTG
  • Se debe seguir el estándar de nombramiento definido para los tópicos.
  • Nombramiento de Grupos de Consumo
  • Ver Kafka - Nombramiento de Grupos de Consumo
  • Atributos adicionales deseables para la creación de grupos de consumo
  • Ninguno
  • Período de tiempo anticipado con que se debe enviar la notificación del nombre del grupo de consumo
  • Por definir
  • Área responsable de validar el nombre de los grupos de consumo
  • IT​
  • Tiempo de respuesta para validar el nombre del grupo de consumo
  • Por definir​​