Skip to content

WhisperN/Go-Flight-Server

Repository files navigation

Go Flight Server

This Project is an implementation of the Apache Arrow Flight server that sends IPC streams on the gRPC format.

Compatibility

This project does not work for

General principle

This server has the purpose to send responses on request from a browser. That is why there is a proxy included in this project. The general architecture looks like this:

oops there should be a diagram here. Take a look in the public folder and search for: Go-Flight-Server-Overview

Class diagram

To give a better overview I have a class diagram that provides a general idea of the projects composition.

oops there should be a diagram here.Take a look in the public folder and search for: Go-Flight-Server

Set-up

This project is easy to set up. If you downloaded the Full Project repo you can jump directly into the start section

Database

Download the corresponding libduckdb library from here

Dataset

Download the sPlot library from here

Proxy

Because we want to need h2 as a main protocol for fast sending. install:

  • envoy
  • mkcert
brew install mkcert nss

Start

Server

 CGO_CXXFLAGS="-I$(pwd)/third_party" go run .

Proxy

envoy -c proxy/envoy.yaml

or run the run.sh script in the folder, if you want a super light-weight server.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published