Ruby Kafka Использование мгновенного сжатия требует добавления зависимости от `snappy` гема в ваш Gemfile. (Ошибка загрузки)
Я использую
ruby-kafka
gem, и у меня есть простой производитель и потребитель:
Режиссер
require 'ruby-kafka'
class Producer
def initialize(kafka_client: Kafka)
@kafka_client = kafka_client.new(['localhost:9092'], client_id: 'my-application')
end
def produce
# Instantiate a new producer.
producer = @kafka_client.async_producer
# Add a message to the producer buffer.
3.times { producer.produce("hello1", topic: "twitter_tweets") }
# Deliver the messages to Kafka.
producer.deliver_messages
producer.shutdown
end
end
Потребитель
require 'ruby-kafka'
class Consumer
def initialize(kafka_client: Kafka)
@kafka_client = kafka_client.new(['localhost:9092'], client_id: 'my-application')
end
def consume
consumer = @kafka_client.consumer(group_id: "my-consumer")
consumer.subscribe("twitter_tweets")
consumer.each_message do |message|
puts message.topic, message.partition
puts message.offset, message.key, message.value
end
end
end
Когда я запускаю потребителя, я получаю сообщение об ошибке
Using snappy compression requires adding a dependency on the `snappy` gem to your Gemfile. (LoadError)
cannot load such file -- snappy (LoadError)
В моем
config/producer-config.sh
У меня есть (не трогал)
# specify the compression codec for all data generated: none, gzip, snappy, lz4, zstd
compression.type=none
Когда я запускаю производителя и потребителя с помощью CLI, он работает нормально, и я не получаю никаких ошибок. Это ошибка или я что-то упускаю?