From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Sharlatan Hellseher <sharlatanus@gmail.com>
Cc: 65118@debbugs.gnu.org
Subject: [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
Date: Sat, 26 Aug 2023 22:02:29 -0400 [thread overview]
Message-ID: <87sf85kzt6.fsf_-_@gmail.com> (raw)
In-Reply-To: <8520b8137aea74779901aa314e26e2b635eeadb9.1691350701.git.sharlatanus@gmail.com> (Sharlatan Hellseher's message of "Sun, 6 Aug 2023 20:55:36 +0100")
Hello!
Sharlatan Hellseher <sharlatanus@gmail.com> writes:
> * gnu/packages/high-availability.scm (nsq): New variable.
> ---
> gnu/packages/high-availability.scm | 87 ++++++++++++++++++++++++++++++
> 1 file changed, 87 insertions(+)
>
> diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
> index 11ff8014cf..9763a04b21 100644
> --- a/gnu/packages/high-availability.scm
> +++ b/gnu/packages/high-availability.scm
> @@ -34,6 +34,7 @@ (define-module (gnu packages high-availability)
> #:use-module (gnu packages gcc)
> #:use-module (gnu packages gettext)
> #:use-module (gnu packages glib)
> + #:use-module (gnu packages golang)
> #:use-module (gnu packages hardware)
> #:use-module (gnu packages linux)
> #:use-module (gnu packages lua)
> @@ -43,12 +44,14 @@ (define-module (gnu packages high-availability)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages python)
> #:use-module (gnu packages rsync)
> + #:use-module (gnu packages syncthing)
> #:use-module (gnu packages tls)
> #:use-module (gnu packages valgrind)
> #:use-module (gnu packages version-control)
> #:use-module (gnu packages xml)
> #:use-module (gnu packages)
> #:use-module (guix build-system gnu)
> + #:use-module (guix build-system go)
> #:use-module (guix download)
> #:use-module (guix gexp)
> #:use-module (guix git-download)
> @@ -190,6 +193,90 @@ (define-public kronosnet
> in general better performances compared to the old network protocol.")
> (license (list license:gpl2+ license:lgpl2.1+))))
>
> +(define-public nsq
> + (package
> + (name "nsq")
> + (version "1.2.1")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/nsqio/nsq")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/nsqio/nsq"
> + #:install-source? #f
> + #:phases
> + #~(modify-phases %standard-phases
> + (replace 'build
> + (lambda* (#:key import-path #:allow-other-keys)
> + (with-directory-excursion (string-append "src/" import-path)
> + (invoke "make"))))
> + (replace 'check
> + (lambda* (#:key tests? import-path #:allow-other-keys)
> + (when tests?
> + (setenv "HOME" "/tmp")
> + (with-directory-excursion (string-append "src/" import-path)
> + (invoke #$@(if (string-prefix? "x86_64-linux"
> + (or (%current-system)
> + (%current-target-system)))
The target should be checked before the system, as current-system is
always defined, and would shortcut the or. But you can now safely
forget about this detail and use the 'target-x86?' procedure instead,
which comes from (guix tilers).
> + (list "go" "test" "-v" "-race" "./...")
> + (list "go" "test" "-v" "./...")))))))
> + (replace 'install
> + (lambda* (#:key import-path #:allow-other-keys)
> + (with-directory-excursion (string-append "src/" import-path)
> + (invoke "make" (string-append "PREFIX=" #$output)
> + "install")))))))
> + (native-inputs
> + (list go-github-com-bitly-go-hostpool
> + go-github-com-bitly-timer-metrics
> + go-github-com-blang-semver
> + go-github-com-bmizerany-perks-quantile
> + go-github-com-burntsushi-toml
> + go-github-com-davecgh-go-spew
> + go-github-com-golang-snappy ; Move to (gnu packages golang)
> + go-github-com-mreiferson-go-svc
> + go-github-com-julienschmidt-httprouter
> + go-github-com-mreiferson-go-options
> + go-github-com-mreiferson-go-svc
> + go-github-com-nsqio-go-diskqueue
> + go-github-com-nsqio-go-nsq
> + python-wrapper))
> + (home-page "https://nsq.io")
> + (synopsis "Realtime distributed messaging platform")
> + (description
> + "NSQ is a realtime distributed messaging platform designed to operate at
> +scale, handling billions of messages per day.
> +
> +Key features:
> +@itemize
> +@item support distributed topologies with no SPOF
What is SPOF?
> +@item horizontally scalable (no brokers, seamlessly add more nodes to the
> +cluster)
> +@item low-latency push based message delivery (performance)
> +@item combination load-balanced and multicast style message routing
I'd replace 'combination' here with the 'combine' verb.
> +@item excel at both streaming (high-throughput) and job oriented
> +(low-throughput) workloads
> +@item primarily in-memory (beyond a high-water mark messages are transparently
> +kept on disk)
> +@item runtime discovery service for consumers to find producers (nsqlookupd)
> +@item transport layer security (TLS)
> +@item data format agnostic
> +@item few dependencies (easy to deploy) and a sane, bounded, default
> +configuration
> +@item simple TCP protocol supporting client libraries in any language
> +@item HTTP interface for stats, admin actions, and producers (no client
> +library needed to publish)
> +@item integrates with statsd for realtime instrumentation
The imperative rather than descriptive verb tense is used elsewhere
here, I'd stick with it (integrate with ...).
Could you send a v2 addressing the above?
--
Thanks,
Maxim
next prev parent reply other threads:[~2023-08-27 2:03 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
2023-08-06 19:55 ` [bug#65118] [PATCH 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
2023-08-06 19:55 ` [bug#65118] [PATCH 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
2023-08-27 2:08 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
2023-08-27 2:10 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
2023-08-27 2:13 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
2023-08-27 2:14 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
2023-08-27 2:15 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
2023-08-27 2:18 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
2023-08-27 2:23 ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 9/9] gnu: Add nsq Sharlatan Hellseher
2023-08-27 2:02 ` Maxim Cournoyer [this message]
2023-08-26 16:17 ` [bug#65118] Sharlatan Hellseher
2023-08-27 2:24 ` [bug#65118] none Maxim Cournoyer
2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
2023-09-01 19:58 ` [bug#65118] [PATCH v2 9/9] gnu: Add nsq Sharlatan Hellseher
2023-09-03 14:07 ` [bug#65118] Sharlatan Hellseher
2023-09-05 3:45 ` bug#65118: none Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sf85kzt6.fsf_-_@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=65118@debbugs.gnu.org \
--cc=sharlatanus@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.