Skip to the content.

<– Na hlavnú stránku

Vyhľadávacia služba Orion môže byť nasadená v jednoduchom režime alebo v režime replikácie v závislosti od vašich požiadaviek.

Jednoduchý režim

V tomto prípade sa používa jeden server brokera a jedna služba Orion, ktoré môžu byť spustené na jednom serveri.

Postup

  1. Spustite základnú infraštruktúru: Najprv pomocou docker compose súboru (ktorý nájdete nižšie) spustite kontajnery pre broker a kafka-ui. (Príkaz: docker compose up -d broker kafka-ui)
  2. Nakonfigurujte Kafka témy: Pred spustením hlavnej služby je nevyhnutné správne nakonfigurovať potrebné Kafka témy. Podrobnosti o nastavení tém Kafka nájdete na tomto odkaze: Návod na konfiguráciu tém.
  3. Spustite hlavnú službu: Akonáhle máte témy nakonfigurované, môžete spustiť samotnú službu orion-service. (Príkaz docker compose up -d orion-service)
version: '3.8'

services:
  broker:
    image: confluentinc/cp-kafka
    hostname: broker
    container_name: broker
    ports:
      - "9092:9092"
      - "9093:9093"
      - "9101:9101"
    environment:
      KAFKA_NODE_ID: 1
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
      KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092'
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_JMX_PORT: 9101
      KAFKA_JMX_HOSTNAME: localhost
      KAFKA_PROCESS_ROLES: 'broker,controller'
      KAFKA_CONTROLLER_QUORUM_VOTERS: '1@broker:29093'
      KAFKA_LISTENERS: 'PLAINTEXT://broker:29092,CONTROLLER://broker:29093,PLAINTEXT_HOST://0.0.0.0:9092'
      KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
      KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
      KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
      CLUSTER_ID: 'MkU3OEVBNTcwNTJENDM2Qk'

  kafka-ui:
    image: provectuslabs/kafka-ui:latest
    ports:
      - "9999:8080"
    environment:
      DYNAMIC_CONFIG_ENABLED: true
      KAFKA_CLUSTERS_0_NAME: local
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker:29092


  orion-service:
    image: tiltrikt/orion-service:0.0.18
    ports:
      - "8001:8001"
    environment:
      KAFKA_DELIVERY_TIMEOUT_MS: 5000
      KAFKA_REQUEST_TIMEOUT_MS: 5000
      KAFKA_MAX_BLOCK_MS: 5000
      SPRING_KAFKA_BOOTSTRAP_SERVERS: broker:29092
      ORION_SERVICE_CLUSTER_SIZE: 1
      ORION_SERVICE_NODE_ID: 1

networks:
  local-kafka:
    driver: bridge

volumes:
  db:
    driver: local

Po spustení tohto docker-compose súboru na lokálnom počítači je možné pristupovať k prehľadu Kafka tém na adrese http://localhost:9999.

Režime replikácie

V tomto prípade sú potrebné aspoň 3 rôzne servery. Každý pár Orion a Kafka môže byť na tom istom serveri. Nižšie je uvedený príklad takejto konfigurácie.

deployment-diagram.jpg

Ak chcete použiť tento režim, nahraďte nasledujúci fragment z vyššie uvedeného súboru docker.compose:

  orion-service:
    ...
    environment:
      # Zoznam Kafka brokerov, ku ktorým sa služba pripája (oddelené čiarkou)
      SPRING_KAFKA_BOOTSTRAP_SERVERS: broker1:29092,broker2:29092,broker3:29092

      # Celkový počet inštancií služby Orion v klastri
      ORION_SERVICE_CLUSTER_SIZE: 3

      # Identifikátor tohto konkrétneho uzla (číslo od 1 po ORION_SERVICE_CLUSTER_SIZE)
      ORION_SERVICE_NODE_ID: 1
      ...

Nezabudnite tiež nakonfigurovať komunikáciu medzi samotnými uzlami Kafka.