🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Panduan Administrasi
    • Mengelola Ketergantungan
  • Home
  • Docs
  • Panduan Administrasi

  • Mengelola Ketergantungan

  • Dengan Docker atau Helm

  • Penyimpanan Pesan

Mengonfigurasi Penyimpanan Pesan dengan Docker Compose atau Helm

Milvus menggunakan Pulsar atau Kafka untuk mengelola log perubahan terbaru, mengeluarkan log aliran, dan menyediakan langganan log. Pulsar adalah sistem penyimpanan pesan default. Topik ini memperkenalkan cara mengonfigurasi penyimpanan pesan dengan Docker Compose atau Helm.

Anda dapat mengonfigurasi Pulsar dengan Docker Compose atau pada K8 dan mengonfigurasi Kafka pada K8.

Mengonfigurasi Pulsar dengan Docker Compose

1. Mengkonfigurasi Pulsar

Untuk mengonfigurasi Pulsar dengan Docker Compose, berikan nilai Anda untuk bagian pulsar di berkas milvus.yaml pada jalur milvus/configs.

pulsar:
  address: localhost # Address of pulsar
  port: 6650 # Port of pulsar
  maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.

Lihat Konfigurasi terkait Pulsar untuk informasi lebih lanjut.

2. Menjalankan Milvus

Jalankan perintah berikut untuk menjalankan Milvus yang menggunakan konfigurasi Pulsar.

docker compose up
Konfigurasi hanya berlaku setelah Milvus dijalankan. Lihat Memulai Milvus untuk informasi lebih lanjut.

Mengkonfigurasi Pulsar dengan Helm

Untuk gugus Milvus pada K8, Anda dapat mengonfigurasi Pulsar dengan perintah yang sama dengan perintah untuk memulai Milvus. Atau, Anda dapat mengkonfigurasi Pulsar menggunakan berkas values.yml pada jalur /charts/milvus di repositori milvus-helm sebelum memulai Milvus.

Untuk detail tentang cara mengkonfigurasi Milvus menggunakan Helm, lihat Mengkonfigurasi Milvus dengan Grafik Helm. Untuk detail mengenai item konfigurasi yang berhubungan dengan Pulsar, lihat Konfigurasi yang berhubungan dengan Pulsar.

Menggunakan file YAML

  1. Konfigurasikan bagian externalConfigFiles pada file values.yaml.
extraConfigFiles:
  user.yaml: |+
    pulsar:
      address: localhost # Address of pulsar
      port: 6650 # Port of Pulsar
      webport: 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080
      maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
      tenant: public
      namespace: default    
  1. Setelah mengkonfigurasi bagian sebelumnya dan menyimpan file values.yaml, jalankan perintah berikut untuk menginstal Milvus yang menggunakan konfigurasi Pulsar.
helm install <your_release_name> milvus/milvus -f values.yaml

Mengkonfigurasi Kafka dengan Helm

Untuk cluster Milvus pada K8, Anda dapat mengonfigurasi Kafka dengan perintah yang sama dengan perintah untuk menjalankan Milvus. Atau, Anda dapat mengonfigurasi Kafka menggunakan file values.yml pada jalur /charts/milvus di repositori milvus-helm sebelum memulai Milvus.

Untuk detail mengenai cara mengkonfigurasi Milvus menggunakan Helm, lihat Mengkonfigurasi Milvus dengan Grafik Helm. Untuk detail mengenai item konfigurasi yang berhubungan dengan Pulsar, lihat Konfigurasi yang berhubungan dengan Pulsar.

Menggunakan file YAML

  1. Konfigurasikan bagian externalConfigFiles pada file values.yaml jika Anda ingin menggunakan Kafka sebagai sistem penyimpanan pesan.
extraConfigFiles:
  user.yaml: |+
    kafka:
      brokerList:
        -  <your_kafka_address>:<your_kafka_port>
      saslUsername:
      saslPassword:
      saslMechanisms: PLAIN
      securityProtocol: SASL_SSL    
  1. Setelah mengkonfigurasi bagian sebelumnya dan menyimpan berkas values.yaml, jalankan perintah berikut untuk menginstal Milvus yang menggunakan konfigurasi Kafka.
helm install <your_release_name> milvus/milvus -f values.yaml

Mengkonfigurasi RocksMQ dengan Helm

Milvus mandiri menggunakan RocksMQ sebagai penyimpanan pesan default. Untuk langkah-langkah terperinci tentang cara mengonfigurasi Milvus dengan Helm, lihat Mengonfigurasi Milvus dengan Grafik Helm. Untuk detail tentang item konfigurasi yang berhubungan dengan RocksMQ, lihat Konfigurasi yang berhubungan dengan RocksMQ.

  • Jika Anda memulai Milvus dengan RocksMQ dan ingin mengubah pengaturannya, Anda dapat menjalankan helm upgrade -f dengan pengaturan yang telah diubah pada file YAML berikut ini.

  • Jika Anda telah menginstal Milvus mandiri menggunakan Helm dengan penyimpanan pesan selain RocksMQ dan ingin mengubahnya kembali ke RocksMQ, jalankan helm upgrade -f dengan file YAML berikut setelah Anda mem-flush semua koleksi dan menghentikan Milvus.

extraConfigFiles:
  user.yaml: |+
    rocksmq:
      # The path where the message is stored in rocksmq
      # please adjust in embedded Milvus: /tmp/milvus/rdb_data
      path: /var/lib/milvus/rdb_data
      lrucacheratio: 0.06 # rocksdb cache memory ratio
      rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
      retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.
      retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
      compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data
      # compaction compression type, only support use 0,7.
      # 0 means not compress, 7 will use zstd
      # len of types means num of rocksdb level.
      compressionTypes: [0, 0, 7, 7, 7]    

Mengubah penyimpanan pesan tidak disarankan. Jika Anda ingin melakukan ini, hentikan semua operasi DDL, lalu panggil FlushAll API untuk mem-flush semua koleksi, dan akhirnya hentikan Milvus sebelum Anda benar-benar mengubah penyimpanan pesan.

Mengkonfigurasi NATS dengan Helm

NATS adalah alternatif penyimpanan pesan eksperimental untuk RocksMQ. Untuk langkah-langkah rinci tentang bagaimana mengkonfigurasi Milvus dengan Helm, lihat Mengkonfigurasi Milvus dengan Grafik Helm. Untuk detail tentang item konfigurasi yang berhubungan dengan RocksMQ, lihat Konfigurasi yang berhubungan dengan NATS.

  • Jika Anda memulai Milvus dengan NATS dan ingin mengubah pengaturannya, Anda dapat menjalankan helm upgrade -f dengan pengaturan yang telah diubah pada file YAML berikut ini.

  • Jika Anda telah menginstal Milvus mandiri dengan penyimpanan pesan selain NATS dan ingin mengubahnya menjadi NATS, jalankan helm upgrade -f dengan berkas YAML berikut setelah Anda mem-flush semua koleksi dan menghentikan Milvus.

extraConfigFiles:
  user.yaml: |+
    mq:
      type: natsmq
    natsmq:
      # server side configuration for natsmq.
      server: 
        # 4222 by default, Port for nats server listening.
        port: 4222 
        # /var/lib/milvus/nats by default, directory to use for JetStream storage of nats.
        storeDir: /var/lib/milvus/nats 
        # (B) 16GB by default, Maximum size of the 'file' storage.
        maxFileStore: 17179869184 
        # (B) 8MB by default, Maximum number of bytes in a message payload.
        maxPayload: 8388608 
        # (B) 64MB by default, Maximum number of bytes buffered for a connection applies to client connections.
        maxPending: 67108864 
        # (√ms) 4s by default, waiting for initialization of natsmq finished.
        initializeTimeout: 4000 
        monitor:
          # false by default, If true enable debug log messages.
          debug: false 
          # true by default, If set to false, log without timestamps.
          logTime: true 
          # no log file by default, Log file path relative to.. .
          logFile: 
          # (B) 0, unlimited by default, Size in bytes after the log file rolls over to a new one.
          logSizeLimit: 0 
        retention:
          # (min) 3 days by default, Maximum age of any message in the P-channel.
          maxAge: 4320 
          # (B) None by default, How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size.
          maxBytes:
          # None by default, How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit.    
          maxMsgs: 

Memilih antara RockMQ dan NATS?

RockMQ menggunakan CGO untuk berinteraksi dengan RocksDB dan mengelola memori dengan sendirinya, sementara NATS murni-GO yang tertanam dalam instalasi Milvus mendelegasikan pengelolaan memorinya ke pengumpul sampah Go (GC).

Dalam skenario di mana paket data lebih kecil dari 64 kb, RocksDB mengungguli dalam hal penggunaan memori, penggunaan CPU, dan waktu respons. Di sisi lain, jika paket data lebih besar dari 64 kb, NATS unggul dalam hal waktu respons dengan memori yang cukup dan penjadwalan GC yang ideal.

Saat ini, Anda disarankan untuk menggunakan NATS hanya untuk eksperimen.

Selanjutnya

Pelajari cara mengonfigurasi dependensi Milvus lainnya dengan Docker Compose atau Helm:

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?