Compared to Message Queues

We are big fans of queues like Kafka and Kinesis. Resurface actually uses Pulsar internally. But a message queue is just a part of a logging solution, and requires a lot of talent to integrate and maintain.

Message queues are focused on moving data from server to server, without being specific about what that data represents. That means many implementation details are left unspecified, and requires talented engineers to tackle all the assembly required. Resurface doesn't just include reliable messaging queues, but all the logging libraries, schemas, tables, indexes, query functions and other components needed for deep API monitoring.

Available Data?
Sequential queue of messages -- presented as strongly typed objects, or as raw bytes
Complete API requests & responses -- including all request parameters, request & response headers, request & response payloads (in JSON, HTML and other formats), plus request URL and response code. Data can be filtered or sampled with logging rules.
Questions Answered?
How do I send messages between servers? Can delivery of a message be guaranteed? How can message producers and consumers discover each other?
Are customers using my APIs as expected? How can I discover API calls for unexpected or harmful conditions? How do I get usage data for modeling and predicting customer behavior? How can I re-calibrate my models as customer behaviors change over time? What specific customers and API calls in the past were affected by a defect? Which customers have failed API calls that could be recovered? Which customers are dependent on legacy or deprecated API calls?
Limitations?
Requires serious talent to integrate and to add privacy & consent controls, No instrumentation included for logging usage data or detecting consent, No high-level data models or aggregates included
Not a general data pipeline solution -- optimized for usage logging, with strongly opinionated models and aggregates