Alibaba wrote this "MQ Technical Manual", and I am sober after reading it

foreword

Message queues have gradually become the core means of internal communication in enterprise IT systems. It has a series of functions such as low coupling, reliable delivery, broadcasting, flow control, and eventual consistency, and has become one of the main means of asynchronous RPC. Although it is said that the current situation is that Kafka is more popular, the more extensive ones should still belong to the old-fashioned RabbtiMQ and the RocketMQ independently developed by Alibaba.

Alibaba must still have the right to speak about MQ-related content, especially the use of RocketMQ, so what we want to share today is actually a summary of the ten-year development experience of Alibaba P8, written in this book "RabbitMQ+ RocketMQ" technical manual, you have to sigh this superb manual after reading it!

Due to the limited space of the article, the following content only shows the content of this manual and some screenshots. If you need the full version of the pdf, it can be provided to you for free, and you can get it by private message 666

1. RabbitMQ part

1. Introduction and introduction to RabbitMQ

2. Client Development Wizard

  • Connect to RabbitMQ
  • Using exchanges and queues
  • Send a message
  • Consuming messages
  • Confirmation and rejection of the consumer
  • close the connection

3. RabbitMQ Advanced

  • Where does the news go
  • Expiration Time (TTL)
  • dead letter queue
  • delay queue
  • priority queue
  • RPC implementation
  • Persistence
  • Producer confirms
  • Introduction to the main points of the consumer side
  • Message Delivery Guarantee

4. RabbitMQ management

  • Multi-tenancy and permissions
  • User Management
  • Web-side management
  • Application and Cluster Management
  • server status
  • HTTPAPI interface management

5.RabbitMQ configuration

  • environment variable
  • configuration file
  • Parameters and strategies

6. RabbitMQ operation and maintenance

  • Cluster construction
  • View service logs
  • Single node failover
  • Cluster migration
  • Cluster monitoring

7. Crossing the boundaries of clusters

  • Federation
  • Shovel

8. RabbitMQ Advanced

  • Memory and disk alarms
  • Flow Control
  • mirror queue

9. Network Partitioning

  • The meaning of network partition
  • Determination of network partition
  • Simulation of network partitions
  • The impact of network partitions
  • Manually handle network partitions
  • Automatic handling of network partitions
  • Case: Multi-Partition Scenario

10. RabbitMQ extension

  • message tracking
  • load balancing

2. RocketMQ part

1. Preparation before reading the source code

  • Get and debug RocketMQ source code
  • Directory structure of RocketMQ source code
  • RocketMQ design philosophy and goals

2. RocketMQ routing center NameServer

  • NameServer Architecture Design
  • NameSenser startup process
  • NameSense route registration, troubleshooting

3. RocketMQ message sending

  • Talking about RocketMQ message sending
  • Getting to know RocketMQ messages
  • Producer start process
  • Basic message sending process
  • Bulk message sending

4. RocketMQ message storage

  • Storage Profile Design
  • Getting to know message storage
  • message sending stored procedure
  • Storage file organization and memory mapping
  • RocketMQ storage file
  • Update message consumption queues and index files in real time
  • Message Queuing and Index File Recovery
  • File refresh mechanism
  • Expired file deletion mechanism

5. RocketMQ message consumption

  • Overview of RocketMQ message consumption
  • A Preliminary Study of Message Consumers
  • The consumer starts the process
  • message pull
  • Message queue load and redistribution mechanism
  • message consumption process
  • timing message mechanism
  • message filtering mechanism
  • sequential message

6. Message filtering FilterServer

  • ClassFilter operating mechanism
  • FilterServer registration analysis
  • Class filter mode subscription mechanism
  • message pull

7.RocketMQ master-slave synchronization (HA) mechanism

  • RocketMQ master-slave replication principle
  • RocketMQ read-write separation mechanism

8. RocketMQ transaction message

  • Transaction Message Implementation Ideas
  • Transaction message sending process
  • Commit or roll back the transaction
  • Transaction message to check transaction status

9. RocketMQ actual combat

  • Bulk sending of messages
  • Message sending queue self-selection
  • message filtering
  • transaction message
  • Spring integrates RocketMQ
  • Spring Cloud integrates RocketMQ
  • RocketMQ monitoring and operation and maintenance commands
  • Application Scenario Analysis

Summarize

In fact, the communication between general business systems will use RabbitMQ/RocketMQ, which requires the support of complex message routing functions. Kafka is only used in real-time computing scenarios of big data, which requires a simple consumption model but ultra-high throughput.

Therefore, as a Java development, it is more important to focus on RabbitMQ and RocketMQ for learning. Finally, ask yourself again, how much do you know about MQ? To what extent will it be used? If it's not enough, you can't stop learning.

The above MQ manual is definitely 100% free to share with you, but I need your support for my article!

Friends who need information, private message 666 to get it

Guess you like

Origin blog.csdn.net/m0_67645544/article/details/124369238