Comments (5)
In the latest release, we included REST API that supports full "produce and consume" flow.
The getting started on Docker and getting started on K8s guides now include these commands. I've added REST API docs as well to describe the parameters and different responses.
@rmarting what do you think? should we close this ticket?
from polar.
Great news!!! I could not test it, however, we could close this issue as it is basically resolved. If I found something later, I will open a new issue.
Thanks!!! A great improvement!!
from polar.
Good one. Currently the consumer API, although the message themselves are HTTP/2, relies on long lived connections to track state.
We could either simplify the semantics, to favour more stateless clients, or at least provide sample HTTP/2 requests.
from polar.
TBH I am not sure if stateless clients are the best approach in streaming architectures where low latency is very important. I tried to use in enterprise use cases the HTTP clients of Kafka, and I only found the producer API very useful for apps where the Kafka protocol is not available, or when we want to have small clients. However, all the consumers always used the Kafka clients to consume as soon as possible the streams (centralizing in the Consumer API the subscription, poll, and commit lifecycles). To reimplement that using single HTTP/2 verbs could not fit and satisfy this kind of architecture.
I am not sure if Barco is looking to achieve this kind of architecture. But IMHO it is something to keep in mind.
Maybe I am wrong, but this is only a comment.
from polar.
Good point, the main goal when designing Barco APIs was to allow producing using simple HTTP and HTTP/2 requests (HTTP/2 for max performance thanks to request pipelining, framing, ... and HTTP/1 to maximize compatibility), to avoid having to deploy a bridge or something like that.
For consuming, we should expect the brokers to be consumer-aware and balance across them and, as you say, stateless communication is not well suited for it.
from polar.
Related Issues (20)
- Manual commit on all brokers
- Support disabling auto-commit on goodbye
- Discovery endpoint for brokers should also provide the broker's namespace
- Offset management for dev mode is invalid
- Offset should not be replicated when value does not change
- Support format validation when producing HOT 1
- Remove gossipConnection property from clientInfo HOT 2
- Close readers when leadership changes or consumer group is inactive
- Use environment variables for producer, consumer, discovery and metrics ports HOT 1
- Set GO's soft memory limit when POLAR_MEMORY_LIMIT is set
- [java] Add PolarStreams as a new platform in the OpenMessaging Benchmark Framework
- Support multiple binary messages in the same request when producing
- Introduce environment variables for MaxMessageSize and MaxGroupSize settings HOT 4
- Document installing without a container
- Consuming with start at earliest can not navigate up in the generations after scaling
- Collapse getting started
- Use dedicated type for representing the Group HOT 1
- Producer max offset can't be retrieved sometimes
- Mixed casing conventions for the REST API HOT 2
- duplicate column name when container restarts HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from polar.