This article contains 516 words

Introduction to the

A message queue is a container that holds messages during their transmission.

Application scenarios

  • The decoupling

My service calls other services through the API, and suddenly the other services are no longer needed, and I have to remove the services that I don’t need. Or one day someone asked me to add a service address, not only development trouble, but also affect the performance, so to make the API of this service into a message sent, someone to get a message on their own to connect to my message queue can.

  • Peak clipping

When the service has a large amount of traffic, it is easy to put Redis, MySQL hit down. So you need to make the flow like a pipe, each time the same amount of water, so that the service consumption capacity in general will not die.

  • asynchronous

If it is an order service, you have to wait for payment for the next order, and then you have to wait for a series of operations for the integral calculation after payment, so the access is too slow due to the long link. However, we found that the above process can be done at the same time, and the integral calculation can be done at the same time after you successfully pay. Then start to order into the message queue, payment and points at the same time to execute consumption, improve efficiency.

concept

  • producers

The component that sends the message

  • consumers

Components that consume messages

  • The queue

The component that holds the message, like a real-life container

kafka

component

  • Topic C. Messages are grouped by Topic
  • Partition, partition
  • -Serena: Well, I’m not being a producer.
  • -Penny: You’re a consumer.
  • Broker: Each kafka instance (server)
  • Offset: message offset

Fast installation

Kafka can be downloaded via the website: https://kafka.apache.org/downloads to find the installation package: kafka_2. 11-2.2.2. TGZ. Go to the bin directory and run the./kafka-server-start.sh.. / config/server. The properties to start the service

Test the

  • Create the toppic

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic wqy

  • Kafka producer client command

./kafka-console-producer.sh --broker-list localhost:9092 --topic wqy

  • Kafka consumer client command

./kafka-console-consumer.sh  --bootstrap-server localhost:9092 --from-beginning --topic wqy

  • Delete the topic:

./kafka-topics.sh --zookeeper localhost:2181 --delete --topic wqy