Clustering and job queues in Go are good ways to get distributed systems to work synchronously and deliver a consistent message. Distributed computing is difficult and it becomes very important to watch for potential performance optimizations within both clustering and job queues.
In this chapter, we will learn about the following topics:
- Clustering with hierarchical and centroid algorithms
- Goroutines as queues
- Buffered channels as job queues
- Implementing third-party queuing systems (Kafka and RabbitMQ)
Learning about different clustering systems can help you identify large groups of data and how to accurately classify them in your datasets. Learning about queueing systems will help you move large amounts of information from your data structures into specific queueing mechanisms in order to pass large amounts of data to different systems in real time...