Solace with Kafka comparison

Simple broker that takes a log file approach to storage and replay. Offers high performance for simple pub/sub, struggles to support features that require knowledge of state or changes to published message format.
Sophisticated broker aware of all publishers, subscribers, queue and message state. Broker available as hardware appliance or software – functionally equivalent.
Deployment Dependencies
Requires 3x (dedicated) Zookeeper to store configuration data and message state.
None. All capabilities deployed as one executable in the VMR or in the appliance.
Replication for disaster recovery
Synchronous replication is not supported, asynch requires MirroMaker
Built in synchronous or asynchronous DR replication at topic/queue granularity.
Multi-protocol support
Requires external gateways for REST; MQTT/AMQP likely not possible due to lack of message routing capabilities.
MQTT, REST, Websockets, COMET supported by the broker along with interoperability between them – no proxies required.
Inter-cluster communication
Requires another component (MirrorMaker) to move data between clusters.
Built-in via bridging and multi-node dynamic routing.
Proprietary, thick API makes consumer responsible for consumer state, connectivity to many brokers, finding partition leaders.
Wide variety of lightweight standard APIs (JMS, JCA) and proprietary APIs for server, web and IoT applications. All APIs supported and frequently updated by Solace.
Backward Compatibility
Frequent major changes limits availability of backward compatible APIs in many languages.
Solace supports backward compatibility of all APIs and between Solace brokers.