Show HN: Go-Nbd – A Pure Go NBD Server and Client

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. go-nbd

    Pure Go NBD server and client library.

    You should probably defer mutex unlock() and not use naked returns: https://github.com/pojntfx/go-nbd/blob/main/pkg/backend/file...

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. gnet

    🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.

    Since this heavily involves networking, take a look into using gnet [0]. You might find some interesting performance improvements by using that over just net.Conn.

    [0] https://github.com/panjf2000/gnet

  4. nbdkit-baddisk-plugin

    An nbdkit plugin which fails every read and write.

    Very cool! I'm curious if you've explored testing error cases yet? Years ago I fooled around with nbdkit and developed a "bad sectors" and "bad disk" plugin and found that the error handling around these scenarios left a little to be desired.

    https://github.com/pepaslabs/nbdkit-baddisk-plugin

    https://github.com/pepaslabs/nbdkit-badsector-plugin

  5. nbdkit-badsector-plugin

    An nbdkit plugin which simulates a disk with a bad sector.

    Very cool! I'm curious if you've explored testing error cases yet? Years ago I fooled around with nbdkit and developed a "bad sectors" and "bad disk" plugin and found that the error handling around these scenarios left a little to be desired.

    https://github.com/pepaslabs/nbdkit-baddisk-plugin

    https://github.com/pepaslabs/nbdkit-badsector-plugin

  6. pyamigadebug

    Framework for abstracting Amiga debuggers and access to AmigaOS libraries and devices. AmigaXfer serial port transfer software lives here.

    NBD is fairly simple. I wrote a minimal server in Python[0]. It is just a few lines.

    0. https://github.com/rvalles/pyamigadebug/blob/master/NBDServe...

  7. UDPspeeder

    A Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction, possible for All Traffics(TCP/UDP/ICMP)

    I just use nbd-server, nbd-client (kernel module nbd). While at home things are fine, when not at home things can get bad unless you use something like UDPspeeder <https://github.com/wangyu-/UDPspeeder> then you just need to deal with slower speeds.

    I do backups with borg while connected through ethernet.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

Did you know that Go is
the 4th most popular programming language
based on number of references?