Skip to content
This repository was archived by the owner on Apr 22, 2026. It is now read-only.

Latest commit

 

History

History
50 lines (39 loc) · 1.39 KB

File metadata and controls

50 lines (39 loc) · 1.39 KB

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.