Message Bus Solace Deeper Dive
文章目录
- Message Bus
- Solace Deeper Dive
- What is Solace
- Overview
- Topics Publish and Subscribe System
- Solace Features
- SolCache & PubSub+
Message Bus
Distributed system design is hard. There are many decisions that you need to make in the architecture early that have long reaching impacts. One of these decisions is how systems will communicate.
- Will components expose RESTful APIs?
- Will they interact with a messaging system (e.g. RabbitMQ, NATS, Kafka)? GRPC?
- How will they share responses?
**I think that communication roughly falls into two schools: **
- point to point
- message bus
In an architecture driven by a message bus it allows more ubiquitous access to data. The consumers are allowed to determine how they will consume the data. It is not something decided by the sender. The power created by decoupling the producer and consumer, far outweighs any operational overhead introduced. Point to point is easier in some ways, but it silod the data off from the rest of the system. This can be a perk, security and isolation for instance, but building these walled gardens of data will hurt innovation, development pace, and monitoring in the long run.
Point-to-point need to handle load balancer or proxy. The biggest drawback of a point-to-point communication structure is that the data is silod in the ecosystem from which it originates. The creator of the information determines how the data is used, by sending that data to a single point. This means that new crosscutting capabilities have to go fundamentally highjack that communication channel. They have to man-in-the-middle the receiver to get access to that data.
Solace Deeper Dive
What is Solace
- Simple functions
- Takes in messages
- Matches subscriptions
- Sends out messages
- Uses FPGA technology for topic matching
- Has no “memory” of past/historical messages
- More on SolCache later
Overview
Topics Publish and Subscribe System
- “/” is a special character reserved by Solace that separates topics
- “*” machines anything up to the next “/”
- “>” as the last character matches anything
Solace Features
- Virtual Private Networks
- Eliding: Solace can limit the rate of message sent on a topic
- Request/Response
- Solace Element Management Protocol(SEMP)
- Soldump
- Guaranteed Messaging
- Deliver to One
SolCache & PubSub+
Remembers messages (until caches are cleared)
Can have messages removed via SEMP
PubSub+ is New version of SolCache, and have higher performance