Sentinel Go version (Reliability & Resilience)

Overview

Sentinel Logo

Sentinel: The Sentinel of Your Microservices

CI Build Status codecov Go Report Card License Gitter GitHub last commit GitHub repo size GitHub closed issues

Introduction

As distributed systems become increasingly popular, the reliability between services is becoming more important than ever before. Sentinel takes "flow" as breakthrough point, and works on multiple fields including flow control, circuit breaking and system adaptive protection, to guarantee reliability and resiliency of microservices.

flow-overview

Sentinel provides the following features:

  • Rich applicable scenarios: Sentinel has been wildly used in Alibaba, and has covered almost all the core-scenarios in Double-11 (11.11) Shopping Festivals in the past 10 years, such as “Second Kill” which needs to limit burst flow traffic to meet the system capacity, throttling, circuit breaking for unreliable downstream services, distributed rate limiting, etc.
  • Real-time monitoring: Sentinel also provides real-time monitoring ability. You can see the runtime information of a single machine in real-time, and pump the metrics to outside metric components like Prometheus.
  • Cloud-native ecosystem: Sentinel Go provides out-of-box integrations with cloud-native components.

Documentation

See the 中文文档 for document in Chinese.

See the Wiki for full documentation, examples, blog posts, and other information.

If you are using Sentinel, please leave a comment here to tell us your scenario to make Sentinel better. It's also encouraged to add the link of your blog post, tutorial, demo or customized components to Awesome Sentinel.

Sub-projects

All integration modules and sub-projects are located in sentinel-group.

Bugs and Feedback

For bug report, questions and discussions please submit GitHub Issues.

Contributing

Contributions are always welcomed! Please see CONTRIBUTING for detailed guidelines.

You can start with the issues labeled with good first issue.

Communication

  • DingTalk Group (钉钉群): 23339422
  • Gitter
Issues
  • Basic abstraction for data-source extension

    Basic abstraction for data-source extension

    Issue Description

    Type: feature request

    Describe what feature you want

    Define datasource extension framework implement FileRefreshableDataSource

    Additional context

    Add any other context or screenshots about the feature request here.

    kind/discussion kind/feature area/data-source 
    opened by louyuting 23
  • Sentinel Golang Version V1 Discussions

    Sentinel Golang Version V1 Discussions

    Describe what feature you want

    Implement Golang version of Sentinel, including basic statistic and flow functions. Some expected features:

    • Basic statistic structure (sliding window that can achieve high concurrency and accuracy)
    • Rate limiting (based on token bucket algorithm, maybe we can leverage golang.org/x/time/rate.Limiter)
    • Logging
    • Metrics interface that can pump real-time metrics to outside consumer
    • Embedded API server
    • Integrate with Sentinel dashboard (machine discovery)

    Discussions are welcomed!

    kind/discussion 
    opened by louyuting 16
  • Fix integer overflow on 32-bit platform

    Fix integer overflow on 32-bit platform

    Signed-off-by: Long Dai [email protected]

    Describe what this PR does / why we need it

    Fix https://github.com/dapr/components-contrib/issues/1033

    Does this pull request fix one issue?

    Describe how you did it

    Describe how to verify it

    Special notes for reviews

    kind/bug 
    opened by daixiang0 13
  • Add etcd data-source extenstion

    Add etcd data-source extenstion

    Issue Description

    Type: feature request Adapt etcd as dynamic datasource for Sentinel

    Describe what feature you want

    Need detail design. PR

    Additional context

    Add any other context or screenshots about the feature request here.

    good first issue kind/feature area/data-source 
    opened by louyuting 13
  • feat(adater): Implement go-micro adapter

    feat(adater): Implement go-micro adapter

    Describe what this PR does / why we need it

    This PR integrate the Adapter of go-micro

    Does this pull request fix one issue?

    This PR add integration for go-micro, Fixes #150

    Describe how you did it

    Add this feature via go-micro server wrapper and intercept client call

    Describe how to verify it

    Run tests inside the adapter/go_micro package

    Special notes for reviews

    area/integrations 
    opened by Zhou-Haowei 11
  • [BUG] Data-Race for metricBucket.addRt

    [BUG] Data-Race for metricBucket.addRt

    Issue Description

    func (mb *metricBucket) addRt(rt int64) {
    	mb.add(base.MetricEventRt, rt)
    	if rt < atomic.LoadInt64(&mb.minRt) {
    		atomic.StoreInt64(&mb.minRt, rt)
    	}
    }
    

    here, not concurrent safe for mb.minRt. It's better to use Mutex

    another missing:

    func (n *BaseStatNode) AddRtAndCompleteRequest(rt, count uint64) {
    	n.rollingCounter.AddCount(base.MetricEventComplete, int64(count))
    	n.rollingCounter.AddCount(base.MetricEventRt, int64(count)) // should be `rt`
    }
    

    Type: bug report

    Describe what happened

    Describe what you expected to happen

    How to reproduce it (as minimally and precisely as possible)

    Tell us your environment

    Anything else we need to know?

    Thanks for your work.

    opened by gorexlv 11
  • fix bug in circuit_breaker.go about SlowRequestRatio

    fix bug in circuit_breaker.go about SlowRequestRatio

    Describe what this PR does / why we need it

    when slowRequestRatio was set to 1.0d, requests will never be blocked. Because the currentRatio will never be bigger than 100%

    Does this pull request fix one issue?

    Describe how you did it

    Special treatment for case when slowRequestRatio was set to 1.0d

    Describe how to verify it

    Special notes for reviews

    kind/enhancement area/circuit-breaking 
    opened by JayiceZ 9
  • datasource: support apollo

    datasource: support apollo

    Describe what this PR does / why we need it

    Datasource support apollo

    Does this pull request fix one issue?

    Describe how you did it

    Describe how to verify it

    Special notes for reviews

    area/data-source 
    opened by yedamao 8
  • Implement consul datasource

    Implement consul datasource

    Describe what this PR does / why we need it

    implement consul datasource

    Does this pull request fix one issue?

    Describe how you did it

    adapter consul client api; read the configuration immediately after connecting to consul server, then start polling.

    Describe how to verify it

    Special notes for reviews

    area/data-source 
    opened by gorexlv 8
  • Add etcd data-source extenstion

    Add etcd data-source extenstion

    Describe what this PR does / why we need it #51 Does this pull request fix one issue? Describe how you did it Describe how to verify it Special notes for reviews

    area/data-source 
    opened by wenxuwan 8
  • Rule Manager: Support update rule hook fix #275

    Rule Manager: Support update rule hook fix #275

    Describe what this PR does / why we need it

    support update rule hook

    Does this pull request fix one issue?

    Fixes #275

    Describe how you did it

    Describe how to verify it

    Special notes for reviews

    kind/enhancement area/rule-manager 
    opened by CrazyHZM 7
  • reduce  redundant  code

    reduce redundant code

    Describe what this PR does / why we need it

    it reduces redundant code . some code is unnessary

    Does this pull request fix one issue?

    Describe how you did it

    Describe how to verify it

    Special notes for reviews

    opened by tylitianrui 0
  • ASOC: sentinel-golang Cluster Flow Control

    ASOC: sentinel-golang Cluster Flow Control

    ASOC: sentinel-golang Cluster Flow Control

    基于v1.0.4版本发布集群流控功能,实现 sentinel-golang Cluster Flow Control

    背景

    目前 sentinel-golang 只支持单机限流,如果碰到集群集体限流的场景,需要提前估算单机的阈值,不过这个单机估算非常困难,主要体现在:

    • 集群的机器数量是随时变化的,那么这个阈值需要根据机器数量实时更改
    • 算平均值这种效果会受上游负载均衡效果的影响,负载均衡能力越弱,流控效果越差

    基于上述两点,集群流控的开发是非常有必要的,且我们希望有以下模块:

    • 统一的与 token server 交互的 grpc 定义接口
    • 完整的集群流控 golang-client 模块
    • 一些扩展的 adapter 模块,包括 grpc、redis 等

    实现方案

    可以参考已有的一些文档和实现

    https://github.com/alibaba/Sentinel/wiki/集群流控

    https://github.com/alibaba/sentinel-golang/wiki/集群流控(Proposal)

    https://github.com/youtube/doorman

    opened by chenneal 0
  • Add adapter for Kratos

    Add adapter for Kratos

    Describe what this PR does / why we need it

    #450

    Does this pull request fix one issue?

    #450

    Describe how you did it

    The implementation is based on Kratos unified middleware abstractions for http/grpc servers/clients.

    Tests on HTTP servers/clients are provided in server_test.go and client_test.go .

    Describe how to verify it

    The implementation can be verified via go test.

    Special notes for reviews

    to-review area/integrations 
    opened by Forsworns 5
  • Add adapter for go-zero

    Add adapter for go-zero

    Describe what this PR does / why we need it

    #451

    Does this pull request fix one issue?

    #451

    Describe how you did it

    The implementation is based on go-zero middlewares for http servers.

    • Provide an adapter for go-zero global middleware.
    • Provide a go-zero routing middleware example.

    They have been tested in middleware_test.go.

    go-zero zrpc simply wraps grpc, and can reuse the interceptors for grpc

    Describe how to verify it

    The implementation can be verified via go test. ~~The testcases have to be run one by one manually in case of contention on port.~~

    Takeaways:

    • The go-zero server did not implement http.Handler. It cannot be tested via httptest.
    • And it cannot be stopped in codes. (The go-zero/rest.Server.Stop only closes its logger.)

    Special notes for reviews

    to-review area/integrations 
    opened by Forsworns 2
  • Fix app name in metric is unknown_go_service (#453)

    Fix app name in metric is unknown_go_service (#453)

    Describe what this PR does / why we need it

    Does this pull request fix one issue?

    Fixes #453

    Describe how you did it

    Describe how to verify it

    Special notes for reviews

    to-review 
    opened by kklinan 4
  • [BUG] App name in metric is unknown_ go_ service

    [BUG] App name in metric is unknown_ go_ service

    Issue Description

    Type: bug report

    Describe what happened

    https://github.com/alibaba/sentinel-golang/blob/683c229b23a96c4ad07dc795da3730db8fd9d93c/exporter/metric/exporter.go#L35-L45

    Since the above code (code 1) uses the init function and is executed before the following code (code 2), the app variable in code 1 is an error.

    https://github.com/alibaba/sentinel-golang/blob/683c229b23a96c4ad07dc795da3730db8fd9d93c/api/init.go#L54-L74

    good first issue 
    opened by kklinan 1
Releases(v1.0.4)
  • v1.0.4(Jan 7, 2022)

    Features / Enhancements

    • Add metric exporter abstraction and add Prometheus support (#382)
    • Add customized probe-num support for half-open recovery of circuit breaker (#428)
    • Disable timestamp cache by default to reduce CPU footprint (#442)

    Bug Fixes

    • Fix fixed pointer size problem in AtomicBucketWrapArray to support 32-bit OS (#429)

    Integrations

    • Add Apollo data-source extension (#444)
    • Polish Sentinel Kubernetes CRD manager/controller with the latest controller-runtime API to support Kubernetes 1.22+ (in sentinel-go-datasource-k8s-crd)
    • Upgrade Gin from 1.6.3 to 1.7.0 in pkg/adapters/gin (#445)

    Thanks for all contributors: @ansiz, @Casper-Mars, @ecafkoob, @louyuting, @luckyxiaoqiang, @sanxun0325

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Aug 16, 2021)

    Since this version, the adapter and data-source modules were moved back to this repo (under pkg directory).

    Features / Enhancements

    • Support extracting "hot-spot" params by key from EntryContext attachments (#376)
    • Record max concurrency in metric logs (#371)
    • Deprecate the resource-level slot chain for reliability (#383)

    Bug Fixes

    • Fix LeapArray integer overflow problem on 32-bit platform (#422)

    Dependencies

    • Upgrade gopsutil from 3.20.12 to 3.21.6 (#414)
    • Upgrade nacos-sdk-go to v1.0.8 for Nacos data-source (#410)

    Thanks for all contributors: @louyuting, @sanxun0325, @liqiangz, @cafra, @kallydev, @tylitianrui, @daixiang0, @sczyh30

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Jan 14, 2021)

  • v1.0.1(Dec 9, 2020)

    Bug Fixes

    • Fix data race bug in slot chain: in concurrency scenario, use RWLock to avoid slots access data race in SlotChain between RegisterRuleCheckSlotForResource and Entry function (#337)
    • Fix system module bug: system adaptive rules won't take effect due to absence of slots (#337)

    Note:

    • V1.0.1 version has a potential dead lock bug, please DON'T use in production. v1.0.2 version will fix this bug, thanks.

    Thanks for all contributors: @louyuting @sczyh30 @sanxun0325 @luckyxiaoqiang @yedamao

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Nov 26, 2020)

    We're happy to announce that Sentinel Go 1.0.0 has been released! This is a production-ready GA version with versatile fault-tolerance and flow control capabilities including rate limiting, concurrency limiting (semaphore isolation), throttling, circuit breaking, system adaptive protection and "hot-spot" traffic shaping. We've already provided plugins for commonly-used frameworks including Gin, go-micro, gRPC and dubbo-go. We've also made progress in cloud native evolution including Kubernetes CRD data-source, Kubernetes HPA based on Sentinel metrics and plugins for service meshes.

    Features/Enhancements

    • Support arbitrary statistic duration for flow control and refactor internal implementation (#200)
      • Add StatIntervalInMs attribute in flow.Rule. When StatIntervalInMs > globalInterval or < bucketLength, we create a new sliding window for it.
      • Add stat reuse mechanism for flow rules.
      • Make threshold of flow rule "request amount per interval" rather than QPS.
    • Make internal logger structured and use JSON as default format (#247)
    • Add "isolation" package and move out concurrency limiting from flow module (#217)
    • Add Kubernetes CRD data-source implementation (sentinel-go-datasource-k8s-crd)
    • Refine fundamental public APIs (#238, #239)
    • Support configuring specific items for arbitrary kinds of objects in hotspot.Rule and polish data-source (#252)
    • Add cache mechanism for LoadRules in all rule managers (#268, #321, #322, #324)
    • Refine circuit breaker State atomic operation (#276)
    • Refine pooled EntryOptions recycle logic (#277)
    • Refactor the slot chain execution mechanism: support resource level slot chain to reduce unnecessary slot execution (#264)
    • Refactor slot chain mechanism and introduce slot order to support priority (#318)
    • Support config initialization with config parser (#290)
    • Unify logging style (#293)
    • Move all adapters and data-source implementations to sentinel-group
    • Upgrade gopsutil to support retrieving system load in Windows (#329)
    • Change semantic of waitMs to nanosToWait in TokenResult and polish related stat slots (#332)
    • Improve examples and add benchmarks for all fundamental slots
    • Performance optimization

    Bug Fixes

    • Fix potential nil counter bug in currentBucketOfTime of leap array (#327)
    • Fix the bug that unsigned estimatedQueueingDuration in throttling checker may overflow (#332)
    • Fix the problem that requests will never be blocked when ratio threshold = 100% (#315)
    • Fix no limit of batch count in flow throttling checker (#302)

    Thanks for all contributors: @louyuting, @sanxun0325, @luckyxiaoqiang, @sczyh30, @liqiangz, @sdttttt, @AlexStocks, @Jayice-zjw, @YUbuntu0109, @cncal, @weiyuanke

    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Oct 29, 2020)

  • v1.0.0-M1(Sep 26, 2020)

    This is a pre-release version (M1) of Sentinel Go 1.0.0. We've brought a few breaking changes:

    • Make internal logger structured and use JSON as default format.
    • Add "isolation" package and move out concurrency limiting from flow module.

    Besides, we've brought arbitrary statistic duration support for flow rule, which could satisfy more scenarios.

    Any suggestions are welcomed!

    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Sep 9, 2020)

  • v0.6.0(Sep 2, 2020)

    Features / Enhancements

    • Add "warm-up" control behavior support (#190, #218)
    • Add go-micro adapter support (#214, #219)
    • Make circuitbreaker.Rule a unified struct entity for all circuit breaking strategies (#205)
    • Support customizing global logger and export logger functions as default delegate (#201)
    • Improve the rule entities and default JSON rule parsers in ext/datasource package (#198)
    • Refine the semantics of onComplete: executed when a passed request finished (#215)
    • Upgrade nacos-sdk-go to v1.0.0 and polish Nacos data-source (#199)
    • Make start time of buckets align with bucketLength in AtomicBucketWrapArray (#197)

    Bug fixes

    • Fix the bug of circuit breaker half-open state transformation when request is blocked by upcoming rules (#202)

    Thanks for the contributors: @louyuting @sanxun0325 @sczyh30 @Zhou-Haowei

    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Jul 29, 2020)

    Features / Enhancements

    • Support arbitrary parameter type in "hot-spot" param flow control (#185)
    • Support initialization with Sentinel config entity directly (#162, #175)
    • Add Consul data-source extension (#116)
    • Add Nacos data-source extension (#184)
    • Optimize performance when loading large amount of rules (#176)
    • Improve rule checking slots with standard BlockError representation (#187)
    • Carry correct invocation arguments in dubbo-go adapter (#186)

    Bug fixes

    • Fix index checking logic in AtomicBucketWrapArray.elementOffset(idx)

    Thanks for the contributors: @cncal, @gorexlv, @louyuting, @Mstch, @sanxun0325, @sczyh30

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Jun 19, 2020)

    In this version, we've brought flow control capability for frequent ("hot spot") parameters, which enables detecting top-N visiting parameters and perform fine-grained rate limiting for every "hot" values (or for some specific values). Currently Sentinel Go supports basic numeric types (various int/uint/float types), bool type and string type.

    Features / Enhancements

    • Support flow control for frequent ("hot spot") parameters (#119)
    • Improve pooling and time retrieval mechanism to optimize performance (#155)
    • Polish data-source helper (canonical converter and updater) for rules (#157)
    • Add fundamental benchmarks (#154)

    Thanks for the contributors: @louyuting @sczyh30

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(May 22, 2020)

    In this version, we've brought circuit breaking feature to Sentinel Go, which is used to provide stability and prevent cascading failures in distributed systems. Currently Sentinel Go provides two kinds of strategies: RTT-based (slow request ratio) and error-based (error ratio/error count).

    Features / Enhancements

    • Add circuit breaking support (#18, #152)
    • Refactor the mechanism of recording error in SentinelEntry/StatisticSlot and polish api.Tracer (#143, #153)
    • Improve mechanism of reusing TokenResult to reduce memory footprint (#149, #142)
    • Add etcd v3 data-source implementation (#115)
    • Add adapter for echo Web framework (#95)
    • Support carrying additional attachments with sentinel.Entry(options) (#124)
    • Remove unnecessary division checking for interval of SlidingWindowMetric (#134)

    Thanks for the contributors: @ansiz, @chenjiandongx, @hellosmallstone, @louyuting, @NineSunRD, @novoland, @sczyh30, @sdttttt, @zhangmingke, @zsy619

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Mar 20, 2020)

    Features / Enhancements

    • Add basic abstraction for data-source extension (#73)
    • Unify general configuration and logging configuration (#56)
    • Add basic error Tracer API (#65, #96)
    • Add integration module for Gin web framework (#82)
    • Add integration module for gRPC-go (#81)
    • Add dubbo-go adapter module (#60)
    • Add refreshable file data-source implementation (#86)
    • Add support for collecting CPU usage for SystemRule and add stat.system.collectIntervalMs config item

    Bug fixes

    • Fix bugs in reading logic of MetricLogSearcher

    Thanks for the contributors: @gorexlv, @hellosmallstone, @louyuting, @pantianying, @sczyh30, @wenxuwan, @zsy619

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Feb 13, 2020)

Owner
Alibaba
Alibaba Open Source
Alibaba
Easy proxy for redis sentinel

sentinel-proxy Easy proxy for redis sentinel. Main purpose of the proxy is easy work with redis sentinel without changing the client code. Especially

Anatoly 4 Dec 10, 2021
Zero Trust Network Communication Sentinel provides peer-to-peer, multi-protocol, automatic networking, cross-CDN and other features for network communication.

Thank you for your interest in ZASentinel ZASentinel helps organizations improve information security by providing a better and simpler way to protect

ZTALAB 5 May 25, 2022
Bump-version - Bump a given semantic version, following a given version fragment

bump-version Bump a given semantic version, following a given version fragment.

Weslei Juan Novaes Pereira 3 Feb 7, 2022
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic repair.(similar fastdfs).

中文 English 愿景:为用户提供最简单、可靠、高效的分布式文件系统。 go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。 大家担心的是这么简单的文件系统,靠不靠谱,可不

小张 3.1k Jun 20, 2022
A fast port scanner written in go with a focus on reliability and simplicity. Designed to be used in combination with other tools for attack surface discovery in bug bounties and pentests

Naabu is a port scanning tool written in Go that allows you to enumerate valid ports for hosts in a fast and reliable manner. It is a really simple to

ProjectDiscovery 2.2k Jun 22, 2022
httpx is a fast and multi-purpose HTTP toolkit allows to run multiple probers using retryablehttp library, it is designed to maintain the result reliability with increased threads.

Features • Installation • Usage • Running httpx • Notes • Join Discord httpx is a fast and multi-purpose HTTP toolkit allow to run multiple probers us

ProjectDiscovery 3.3k Jun 25, 2022
Elastic Key-Value Storage With Strong Consistency and Reliability

What is Elasticell? Elasticell is a distributed NoSQL database with strong consistency and reliability. Compatible with Redis protocol Use Elasticell

Deep Fabric 500 Jun 11, 2022
Continuous profiling for analysis of CPU, memory usage over time, and down to the line number. Saving infrastructure cost, improving performance, and increasing reliability.

Continuous profiling for analysis of CPU, memory usage over time, and down to the line number. Saving infrastructure cost, improving performance, and increasing reliability.

Parca 2.3k Jun 24, 2022
A tool to determine the highest version number that's smaller than a target version number

semver-highest A tool to determine the highest version number that's smaller than a target version number. Installation go install github.com/marten-s

Marten Seemann 1 Oct 13, 2021
Go Version Manager

gvm By Josh Bussdieker (jbuss, jaja, jbussdieker) while working at Moovweb Currently lovingly maintained by Benjamin Knigge Pull requests and other an

Moovweb 7.4k Jun 25, 2022
A node.js version management utility for Windows. Ironically written in Go.

The npm/Microsoft/Google recommended Node.js version manager for Windows. This is not the same thing as nvm. The original nvm is a completely separate

Corey Butler 21.8k Jun 29, 2022
The pure golang implementation of nanomsg (version 1, frozen)

mangos NOTE: This is the legacy version of mangos (v1). Users are encouraged to use mangos v2 instead if possible. No further development is taking pl

nanomsg 1.5k Jun 22, 2022
libsvm go version

libsvm golang version libsvm golang version derived work based on LIBSVM 3.14. Info this lib based on LIBSVM java version, just translate java to go.

Xianjie 71 Jan 23, 2022
A Go interface to ZeroMQ version 4

A Go interface to ZeroMQ version 4. Warning Starting with Go 1.14, on Unix-like systems, you will get a lot of interrupted signal calls. See the top o

Peter Kleiweg 1k Jun 22, 2022
This is a Golang wrapper for working with TMDb API. It aims to support version 3.

This is a Golang wrapper for working with TMDb API. It aims to support version 3. An API Key is required. To register for one, head over to themoviedb

Cyro Dubeux 52 Jun 10, 2022
"go build" wrapper to add version info to Golang applications

govvv The simple Go binary versioning tool that wraps the go build command. Stop worrying about -ldflags and go get github.com/ahmetb/govvv now. Build

Ahmet Alp Balkan 525 Jun 22, 2022
Go Version Manager

gvm By Josh Bussdieker (jbuss, jaja, jbussdieker) while working at Moovweb Currently lovingly maintained by Benjamin Knigge Pull requests and other an

Moovweb 7.4k Jun 23, 2022
A live-updating version of the UNIX wc command.

lwc A live-updating version of the UNIX wc command. Installation You can get a prebuilt binary for every major platform from the Releases page. Just e

Tim De Pauw 27 Mar 5, 2022
A Go interface to ZeroMQ version 2

A Go interface to ZeroMQ version 2. Requires ZeroMQ version 2.1 or 2.2 For ZeroMQ version 4, see: http://github.com/pebbe/zmq4 For ZeroMQ version 3, s

Peter Kleiweg 18 May 26, 2021
A Go interface to ZeroMQ version 3

A Go interface to ZeroMQ version 3. For ZeroMQ version 4, see: http://github.com/pebbe/zmq4 For ZeroMQ version 2, see: http://github.com/pebbe/zmq2 In

Peter Kleiweg 131 Nov 25, 2021
Speak HTTP like a local. (the simple, intuitive HTTP console, golang version)

http-gonsole This is the Go port of the http-console. Speak HTTP like a local Talking to an HTTP server with curl can be fun, but most of the time it'

mattn 65 Jul 14, 2021
Markdown version of Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine

The big BNT162b2 archive All vaccine data here is sourced from this World Health Organization document. This describes the RNA contents of the BNT162b

null 156 May 4, 2022
Go version of Plan9 Acme Editor

Overview Go port of Rob Pike's Acme editor. Derived from ProjectSerenity but now increasingly divergent. ProjectSerenity was itself a transliteration

Robert Kroeger 320 Jun 21, 2022
Golang Version Manager

g 注意:master分支可能处于开发之中并非稳定版本,请通过tag下载稳定版本的源代码,或通过release下载已编译的二进制可执行文件。 g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。 特性 支持列出可供安装的go版本号 支持列出已安

voidint 690 Jun 20, 2022
High-precision indoor positioning framework, version 3.

The Framework for Internal Navigation and Discovery (FIND) is like indoor GPS for your house or business, using only a simple smartphone or laptop. Th

Zack 4.3k Jun 28, 2022
Go tool for major version upgrades

GOMAJOR $ gomajor help GoMajor is a tool for major version upgrades Usage: gomajor <command> [arguments] The commands are: get upgrad

Ilia Choly 66 Jun 17, 2022
Metrics dashboards on terminal (a grafana inspired terminal version)

Grafterm Visualize metrics dashboards on the terminal, like a simplified and minimalist version of Grafana for terminal. Features Multiple widgets (gr

Xabier Larrakoetxea Gallego 763 Jun 24, 2022
A Go (golang) library for parsing and verifying versions and version constraints.

go-version is a library for parsing versions and version constraints, and verifying versions against a set of constraints. go-version can sort a collection of versions properly, handles prerelease/beta versions, can increment versions, etc.

HashiCorp 1.2k Jun 25, 2022
Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash.

gobrew Go version manager Install or update With curl $ curl -sLk https://git.io/gobrew | sh - or with go $ go get -u github.com/kevincobain2000/gobre

Pulkit Kathuria 102 Jun 7, 2022