Skip to content

Commit d4a8ec0

Browse files
sklarsapuzpuzpuz
andauthored
feat(client): v3: ilp over http (#26)
Co-authored-by: Andrei Pechkurov <[email protected]>
1 parent e8d780a commit d4a8ec0

33 files changed

+5667
-3276
lines changed

.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
[submodule "test/interop"]
2-
path = test/interop
1+
[submodule "test/interop/questdb-client-test"]
2+
path = test/interop/questdb-client-test
33
url = https://github.com/questdb/questdb-client-test.git

README.md

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
1-
[![GoDoc reference](https://img.shields.io/badge/godoc-reference-blue.svg)](https://pkg.go.dev/github.com/questdb/go-questdb-client/v2)
1+
[![GoDoc reference](https://img.shields.io/badge/godoc-reference-blue.svg)](https://pkg.go.dev/github.com/questdb/go-questdb-client/v3)
22

33
# go-questdb-client
44

5-
Golang client for QuestDB's Influx Line Protocol over TCP.
5+
Golang client for QuestDB's [Influx Line Protocol](https://questdb.io/docs/reference/api/ilp/overview/)
6+
(ILP) over HTTP and TCP. This library makes it easy to insert data into
7+
[QuestDB](https://questdb.io).
68

79
Features:
810
* Context-aware API.
911
* Optimized for batch writes.
10-
* Supports TLS encryption and [ILP authentication](https://questdb.io/docs/reference/api/ilp/authenticate).
11-
* Tested against QuestDB 7.3.2 and newer versions.
12+
* Supports TLS encryption and ILP authentication.
13+
* Automatic write retries and connection reuse for ILP over HTTP.
14+
* Tested against QuestDB 7.3.11 and newer versions.
1215

13-
Documentation is available [here](https://pkg.go.dev/github.com/questdb/go-questdb-client/v2).
16+
New in v3:
17+
* Supports ILP over HTTP using the same client semantics
1418

15-
## Usage
19+
Documentation is available [here](https://pkg.go.dev/github.com/questdb/go-questdb-client/v3).
20+
21+
## Quickstart
1622

1723
```go
1824
package main
@@ -23,13 +29,13 @@ import (
2329
"log"
2430
"time"
2531

26-
qdb "github.com/questdb/go-questdb-client/v2"
32+
qdb "github.com/questdb/go-questdb-client/v3"
2733
)
2834

2935
func main() {
3036
ctx := context.TODO()
31-
// Connect to QuestDB running on 127.0.0.1:9009
32-
sender, err := qdb.NewLineSender(ctx)
37+
// Connect to QuestDB running locally.
38+
sender, err := qdb.LineSenderFromConf(ctx, "http::addr=localhost:9000;")
3339
if err != nil {
3440
log.Fatal(err)
3541
}
@@ -59,3 +65,17 @@ func main() {
5965
}
6066
}
6167
```
68+
69+
To connect via TCP, set the configuration string to:
70+
```go
71+
// ...
72+
sender, err := qdb.LineSenderFromConf(ctx, "tcp::addr=localhost:9009;")
73+
// ...
74+
```
75+
76+
## Community
77+
78+
If you need help, have additional questions or want to provide feedback, you
79+
may find us on [Slack](https://slack.questdb.io).
80+
You can also [sign up to our mailing list](https://questdb.io/community/)
81+
to get notified of new releases.

0 commit comments

Comments
 (0)