Code Monkey home page Code Monkey logo

liftbridge-api's People

Contributors

alexrudd avatar caioaao avatar jmgr avatar lapetitesouris avatar paambaati avatar sevein avatar tylertreat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

liftbridge-api's Issues

Delete a stream

Would be useful for testing and likely some operational cases.

Publish API consistency / clarity

Copying from Slack:

I thought the behavior of publish on the client implementation docs to be pretty confusing. you pass a subject and it's stated that it's the NATS subject, but it might not be if you decide to use a partitioner/partitionbykey/etc... I feel this would make space for a lot of configuration bugs and may confuse ppl a lot

Proposed solution is to split the publish API in two. One higher level method would receive the stream name and handle partitions through the configuration, while another lower level would just receive the nats subject and publish to it directly.

Management API

Was thinking about stream, and subject discovery for administrating liftbridge.

As I understand it NATS has this and it's highly dynamic where you can see the topics and channels being created in real time.

So I want to ask if this is useful to expose over the grpc API.
It will allow building developer and operator tools on top of liftbridge using only grpc. I was thinking about building a simple CUI first.

Rename to liftbridge-api perhaps?

There are non-gRPC things that we should spec out here:

  • NATS message envelope header
  • The message encoding which doesn't necessarily need to flow through gRPC
  • Maybe in the future, we might spec out a formal on-disk format. Since we're dealing with (I think) log-structured storage, we should be able to get direct replay capabilities to e.g. ingest batches and dump them into a db or something.

Since the scope extends beyond the gRPC interface, should we rename this to liftbridge-api? I don't feel super strongly about this, just a thought.

Dockerise and wrap with a golang builder

Make it easy for devs on all OS's to build the GRPC bindings for any language.

I like this as a basis: https://github.com/lucor/fyne-cross
It runs from any developer desktop and runs cross compilation in docker.
It then returns the results ( in this case a built binary) back to the host in the same directory.
The dev has no involvement with docker and the golang code does it all.

People will want to build their grpc implementation in different languages for Servers and desktops and so this provides that.

Its 100% golang, and so its possible to have it call the nodejs, python, c# installers and boot strap correctly for each Language / OS Permutation.

THis will also make it ease to do CI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.