当前位置:网站首页>Golang excellent open source project summary
Golang excellent open source project summary
2022-07-27 14:02:00 【coder i++】
Reprint :https://studygolang.com/articles/7708
Golang Summary of excellent open source projects ( Continuous updating ...)
I put this summary in github Yes , Later updates will also be available in github Update on . https://github.com/hackstoic/golang-open-source-projects . welcome fork, star , watch, carry issue.
Reference sources :http://studygolang.com/projects
The monitoring system
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | OpenFalcon | http://github.com/open-falcon/of-release | OpenFalcon It is a Xiaomi monitoring system . function :* No configuration for data collection :agent Self discovery 、 Support Plugin、 Active push mode ; * Capacity level expansion : Production environment per second 50 Ten thousand data collection 、 The alarm 、 Storage 、 mapping , Sustainable level expansion .* Alarm strategy self discovery :Web Interface 、 Support policy templates 、 Template inheritance and overrides 、 Various alarm modes 、 Support callback actions .* Alarm settings are user-friendly : Support the maximum number of alarms 、 Alarm level setting 、 Alarm recovery notice 、 Alarm pause 、 Different time periods and different thresholds 、 Support maintenance cycle , Support alarm merging .* Efficient query of historical data : Second level returns a year's historical data of hundreds of indicators .*Dashboard Hommization : Multi dimensional data presentation , User customization Dashboard And so on .* Architecture is highly available : No core single point in the whole system , Easy operation and maintenance , Easy to deploy . |
| 2 | banshee | http://github.com/eleme/banshee | Periodic indicator monitoring system . |
| 3 | Kapacitor | http://github.com/influxdata/kapacitor | Kapacitor It's an open source framework , Used for processing 、 Monitoring and warning time series data . |
| 4 | Pome | http://github.com/rach/pome | Pome yes Postgres Metrics It means .Pome It's a PostgreSQL Indicator meter , Used to track the health of your database . |
| 5 | pingd | http://github.com/pinggg/pingd | pingd It is the simplest monitoring service in the world , Use golang To write . Software support IPv6, But the server does not support . pingd Allow simultaneous ping Thousands of IPs, During this period, you can also manage the monitored hosts . The user provides the host name or IP, And the user's email address , You can use 3 A generation URLs To open , Stop or delete your tracking . Whenever your server is down or the background is online, you will send a notification , It also includes control URLs. |
| 6 | actiontech zabbix mysql monitor | percona monitoring plugins zabbix Of Go Language version , By Love can be born Company open source MySQL Monitor plug-ins and templates , Integrate hundreds of performance monitoring indicators , Support Low Level Discovery Automatically discover multi instance environments , Support performance_schema | |
| 7 | rtop | http://github.com/rapidloop/rtop | top Is a simple agent free remote server monitoring tool , be based on SSH Connect to work . There is no need to install any software on the monitored server .rtop Directly through SSH Connect to the server to be monitored , Then execute commands to collect monitoring data .rtop Automatically update the monitoring data every few seconds , Like other things *top command |
| 8 | Prometheus | http://github.com/prometheus/prometheus | Prometheus Is an open source service monitoring system and time series database , Provide monitoring data storage , Exhibition , Alarm and other functions |
| 9 | bosun | http://github.com/bosun-monitor/bosun | Professional cross platform open source system monitoring project ,go Language writing , Flexible templates and expressions are matched with various collector It can monitor any application or system level operation data , Than zabbix More lightweight 、 Easier to get started and more suitable for customization . |
Container technology
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | SwarmKit | https://github.com/docker/swarmkit | SwarmKit yes Docker Company open source Docker Cluster management and container orchestration tools , Its main functions include node discovery 、 be based on raft Algorithm consistency and task scheduling . |
| 2 | DaoliNet | https://github.com/daolinet/daolinet | DaoliNet Is a software defined network (SDN) System , It is designed for Docker Containers provide dynamic 、 Efficient links . stay Docker In the container , Microservice workloads are light and transient ,DaoliNet Just for this nature . |
| 3 | Harbor | http://github.com/vmware/harbor | The development and operation of container application cannot do without reliable image management . In terms of safety and efficiency , Deployed in a private environment Registry It's very necessary .Project Harbor By VMware The company's Chinese team designed Registry server Open source project , Including authority management (RBAC)、LDAP、 Audit 、 Management interface 、 Self registration 、HA And other necessary functions of the enterprise , At the same time, according to the characteristics of Chinese users , Design functions such as image replication and Chinese support |
| 4 | REX-Ray | https://github.com/emccode/rexray | REX-Ray It's a EMC {code} Team led open source project , by Docker、Mesos And other container operating environments to provide continuous storage access . It is designed to include universal storage 、 Virtualization and cloud platforms , Provide advanced storage functions . |
| 5 | Clair | http://github.com/coreos/clair | Clair It is a container vulnerability analysis service . It provides a list of vulnerabilities that can threaten containers , And when a new container vulnerability is released, a notification will be sent to the user . |
| 6 | Weave | http://github.com/zettio/weave | Weave Create a virtual network and connect to... Deployed on multiple hosts Docker Containers . |
| 7 | Rocket | http://github.com/coreos/rkt | Rocket ( Also called rkt) yes CoreOS Launched a container engine , and Docker similar , Help developers package applications and dependencies into portable containers , Simplify the deployment of environment .Rocket and Docker The difference is this ,Rocket No, Docker Those for enterprise users “ Friendly features ”, For example, cloud service acceleration tools 、 Cluster system, etc . On the other hand ,Rocket What you want to do , It is a more pure industry standard . |
| 8 | libnetwork | http://github.com/docker/libnetwork | Libnetwork Provide a native Go Implemented container connection , Is the network of containers .libnetwork The goal is to define a robust container network model (Container Network Model), Provides a consistent programming interface and application network abstraction . |
| 9 | Wormhole | https://github.com/vishvananda/wormhole | WWormhole Is a namespace aware by Socket Activated tunnel agent . It allows you to safely connect to different physical machines Docker Containers . It can be used to complete some interesting functions , For example, connect services running on the container's native machine or create on-demand services after connecting . |
| 10 | Shipyard | http://github.com/shipyard/shipyard | Shipyard It's based on Web Of Docker Management tools , Support more host, You can put more than one Docker host Upper containers Unified management ; You can see images, even to the extent that build images; And provide RESTful API wait . Shipyard To manage and control Docker host It needs to be modified first Docker host The default configuration on makes it support remote management . |
| 11 | Docker | http://github.com/docker/docker | Docker Is an open source application container engine , Allows developers to package their applications and dependencies into a portable container , Then post to any popular Linux On the machine , You can also implement virtualization . Containers are completely sandboxed using the sandbox mechanism , There will be no interface between them ( similar iPhone Of app). Almost no performance overhead , It's easy to run in machines and data centers . most important of all , They don't rely on any language 、 Frame or packaging system . |
PaaS Tools
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Kel | http://github.com/kelproject | Kel Is an open source based on Kubernetes Built PaaS System , use Python and Go Language development .Kel Simplify management Web Application publishing and hosting throughout the software lifecycle .Kel Help developers and O & M personnel easily manage their application architecture , Let... Through a set of tools and components K8S Very simple to use . |
| 2 | CloudFoundry-Mesos | http://github.com/mesos/cloudfoundry-mesos | Cloud Foundry-Mesos The framework is made by Huawei and Mesosphere With the cooperation of our engineers , It can provide safe and reliable 、 Telescopic 、 Scalable cloud operating environment , And the application can enjoy Cloud Foundry Various rich service resources in the ecosystem . Enterprises can pass Cloud Foundry Develop Cloud Applications , And pass Cloud Foundry-Mesos Deploy the application to DCOS On , Make the application compatible with DCOS Other services and application frameworks installed on share resources , Maximize resource utilization , Can significantly reduce the enterprise Data center operating costs .DCOS Be able to run in virtual and physical environments , Able to support Linux( And support soon Windows), And it can be applied to private cloud 、 Public cloud and hybrid cloud environment . |
| 3 | Flynn | http://github.com/github/flynn | Flynn It's an open source PaaS System , from Docker Development . use Go Language writing . Support databases include Postgres、Redis and MongoDB. Flynn Use a completely modular design , Any component and module can be replaced independently . |
| 4 | DINP | http://git.oschina.net/cnperl/dinp-server | DINP It's another one based on Docker Developed PaaS platform . |
| 5 | Kubernetes | http://github.com/GoogleCloudPlatform/kubernetes | Kubernetes Is from Google Open source container cluster management system of cloud platform . be based on Docker Build a container's scheduling service . The system can automatically select a working container in a container cluster for use . The core concept is Container Pod. |
| 6 | Tsuru | http://github.com/tsuru/tsuru | stay Tsuru Of PaaS Under service , You can choose your own programming language , Choose to use SQL perhaps NoSQL database ,memcache、redis、 And many other services , Even with you can use Git Version control tool to upload your application . |
big data
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | MLF | https://github.com/huichen/mlf | Maitreya project is a big data machine learning framework . With optimization for processing big data , Can grow with the business scale up, The training and use of the model can be used as library perhaps service Integrated into the production system , With rich models , Highly scalable , Highly readable , It is suitable for beginners to learn big data models |
| 2 | Glow | http://github.com/chrislusf/glow | low It's using Go Easy to use distributed computing system written , yes Hadoop Map Reduce,Spark,Flint,Samza And so on .Glow The goal of is to provide a library , Simpler calculations can be performed in parallel threads or distributed cluster machines . |
Database technology
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | BuntDB | github.com/tidwall/buntdb | Is pure Go Developed 、 At a lower level (low-level) Of 、 Embeddable key/value In-memory database (IMDB), Data persistence storage , follow ACID, Support custom index and geospatial data . |
| 2 | Cockroach | http://github.com/cockroachdb/cockroach | CockroachDB ( Cockroach database ) It's a scalable 、 Support geographic processing 、 Data storage system supporting transaction processing .CockroachDB Provides two different transaction features , Including snapshot isolation (snapshot isolation, abbreviation SI) Isolated from sequential snapshots (SSI) semantics , The latter is the default isolation level . |
| 3 | qb-go | http://github.com/aacanakin | qb It is used to make it easier to use the database go Language database toolkit . It receives Python favourite ORM SQLAlchemy Inspired by the , Is both a ORM, It is also a query builder . It is expressing api And query building things is quite modular . |
| 4 | GoshawkDB | http://github.com/goshawkdb | GoshawkDB Is an adoption Go Language development supports multi platform distributed object storage services , Support transactions and fault tolerance .GoshawkDB The transaction control of is completed on the client .GoshawkDB Server side use AGPL The license , and Go Language client uses Apache license |
| 5 | Codis | http://github.com/wandoulabs/codis | odis It's a distribution Redis Solution , For upper applications , Connect to Codis Proxy And connect the original Redis Server There is no obvious difference ( Unsupported command list ), Upper applications can be like using stand-alone Redis The use of , Codis The bottom layer will process the request forwarding , Data migration and so on , Everything behind it , It is transparent to the front client , It can be simply considered that the connection at the back is an infinite memory Redis service . |
| 6 | Cayley | http://github.com/google/cayley | Cayley yes Google An open source map of (Graph) database , It was inspired by Freebase and Google Of Knowledge Graph The diagram database behind . |
| 7 | Redigo | http://github.com/garyburd/redigo | Redigo yes Redis Database Go client . |
| 8 | redis-go-cluster | http://github.com/chasex/redis-go-cluster | redis-go-cluster Is based on Redigo Realized Golang Redis client .redis-go-cluster Can be cached locally slot Information , And it will be automatically updated when the cluster is modified . This client manages each node connection pool , Use goroutine To execute concurrently as much as possible , Achieve high efficiency , Low latency . |
| 9 | Dgraph | http://github.com/dgraph-io/dgraph | dgraph It's extensible , A distributed , Low latency graphics database .DGraph The goal is to provide Google Scale and throughput of production level , In more than TB In the structural data of , Users do not provide real-time queries with sufficiently low latency .DGraph Support GraphQL As a query language , Respond to JSON. |
| 10 | DegDB | http://github.com/degdb/degdb | DegDB It is a distributed economic map database . |
| 11 | Vitess | https://github.com/youtube/vitess | outube Open source distributed MySQL Toolset Vitess, Automatic slice storage MySQL Data sheet , Will single SQL The query is rewritten as distributed and sent to multiple MySQL Server On , Support row caching ( Than MySQL High cache efficiency ), Support replication fault tolerance , Has been used in Youtube Production environment |
| 12 | xuncache | http://github.com/sun8911879/xuncache | xuncache It's free and open source NOSQL( In-memory database ) use golang Development , Easy to use and Powerful ( Even novices are fully qualified )、 Excellent performance, can easily handle massive data , Can be used for caching system . |
| 13 | pgweb | http://github.com/sosedoff/pgweb | gweb Is an adoption Go Language development is based on Web Of PostgreSQL Management system . |
| 14 | Orchestrator | http://github.com/outbrain/orchestrator | MySQL Copy topology visualizer |
| 15 | mysql-schema-sync | no | mysql-schema-sync It's a utility model go Developed 、 Cross platform 、 Green and independent MySQL Table structure automatic synchronization tool . Used to put online ( Other environments ) Database structure changes are synchronized to the test ( Local ) Environmental Science ! |
| 16 | TiDB | http://github.com/pingcap/tidb | TiDB It's domestic PingCAP A distributed system developed by the team SQL database . It was inspired by Google Of F1, TiDB Support includes traditional RDBMS and NoSQL Characteristics of . |
Storage technology
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Torus | http://github.com/coreos/torus | Torus It is a storage system tailored for container clusters , Can be passed for Kubernetes Orchestrated and managed container clusters provide reliable and scalable storage . This is the etcd、rkt、flannel, as well as CoreOS Linux after CoreOS Another open source product released . |
| 2 | Afero | http://github.com/spf13/afero | Afero Is a file system framework , Provide a simple 、 Unified and universal API Interact with any file system , As an abstraction layer, it also provides an interface 、 Type and method .Afero The interface is very simple , Design simple , Unnecessary constructors and initialization methods are discarded .Afero As a library, it also provides a set of interoperable background file systems , This is with Afero In collaboration , You can also keep os and ioutil Functions and benefits of software package . |
| 3 | REX-Ray | https://github.com/emccode/rexray | REX-Ray It's a EMC {code} Team led open source project , by Docker、Mesos And other container operating environments to provide continuous storage access . It is designed to include universal storage 、 Virtualization and cloud platforms , Provide advanced storage functions . |
| 4 | SeaweedFS | http://github.com/chrislusf/seaweedfs | SeaweedFS It's simple , Highly scalable distributed file system , It has two parts : Storing billions of files ; Quickly serve files .SeaweedFS As a support to all POSIX File system semantic substitution ,Seaweed-FS Choose to implement only key-file Mapping , similar "NoSQL", You could say "NoFS". |
| 5 | bfs | http://github.com/Terry-Mao/bfs | bfs It's using Go Write a distributed file system ( Small file storage ). |
| 6 | IPFS | http://github.com/ipfs/go-ipfs | IPFS It's a distributed file system , Look for the same file system that connects all computer devices . in some ways , This is very similar to the original Web The goal is , however IPFS Eventually, it will be more like a single bit stream group exchange git object .IPFS = InterPlanetary File System |
Distributed systems
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Confd | http://github.com/kelseyhightower | Confd Is a lightweight configuration management tool . By inquiring Etcd, Combined with the configuration template engine , Keep local configuration up to date , At the same time, it has regular detection mechanism , Configuration changes automatically reload. |
| 2 | zerg | hhttp://github.com/huichen/zerg | be based on docker Distributed crawler service for |
| 3 | Doorman | https://github.com/youtube/doorman | Doorman It is a solution to client rate limitation , The client communicates with shared resources , Include database 、gRPC service 、RESTful API Etc. can be used Doorman To restrict calls to resources .Doorman Use Go Language development , Use gRPC Communication protocol of . Its high availability requires a distributed lock manager , The current support etcd, You can also use Zookeeper replace . |
| 4 | Go-kit | http://github.com/go-kit/kit | Go-kit It's a Go Language distributed development package , For developing microservices . |
| 5 | Hprose | http://github.com/andot/hprose | Hprose It is a high-performance remote object service engine (High Performance Remote Object Service Engine) Abbreviation —— The preferred engine for microservices . It is an advanced lightweight, cross language, cross platform and object-oriented high-performance remote dynamic communication middleware . It's not just easy to use , And it's powerful . You only need a little time to learn , You can easily build a cross language and cross platform distributed application system with it . |
| 6 | Gizmo | http://github.com/NYTimes/gizmo | New York Times open source go Microservice tools . The following features are provided :* Standardized configuration and logging ;* Configurable policy status monitoring endpoint ;* Used to manage pprof Endpoint and log level configuration ;* Structured log , Provide basic request information ;* Useful metrics for endpoints ;* Stop service gracefully ;* Define the basic interface between expectation and vocabulary |
| 7 | mgmt | http://github.com/purpleidea/mgmt | mgmt It's a distributed one , Event driven configuration management tool . The tool supports parallel execution , Its librarification As a basic management tool for new and existing software . |
| 8 | Yoke | http://github.com/nanopack/yoke | Yoke yes Postgres High availability cluster for , With automatic switching and automatic cluster recovery .Postgres redundancy / Automatic failover solutions , Provide a highly available PostgreSQL Simple management of clusters . |
| 9 | SeaweedFS | http://github.com/chrislusf/seaweedfs | SeaweedFS It's simple , Highly scalable distributed file system , It has two parts : Storing billions of files ; Quickly serve files .SeaweedFS As a support to all POSIX File system semantic substitution ,Seaweed-FS Choose to implement only key-file Mapping , similar "NoSQL", You could say "NoFS". |
| 10 | Glow | http://github.com/chrislusf/glow | low It's using Go Easy to use distributed computing system written , yes Hadoop Map Reduce,Spark,Flint,Samza And so on .Glow The goal of is to provide a library , Simpler calculations can be performed in parallel threads or distributed cluster machines . |
| 11 | Nomad | http://github.com/hashicorp/nomad | Nomad It is a cluster manager and scheduler , Designed for microservices and batch processing workflows .Nomad Is distributed , High availability , Scalable to thousands of nodes across data centers and regions . |
The messaging system
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | KiteQ | http://github.com/blackbeans/kiteq | KiteQ It's based on go + protobuff Implementation of a variety of persistence schemes mq frame ( Message queue ). |
| 2 | NSQ | http://github.com/bitly/nsq | NSQ It's centerless design 、 Open source message system for automatic node registration and discovery . It can be used as the basis of internal communication framework , Easy to configure and publish . |
| 3 | kingtask | https://github.com/kingsoft-wps/kingtask | kingtask It's a by Go Developed a lightweight asynchronous scheduled task system . Support timed asynchronous tasks . Support failure retrial mechanism , The retry time and times can be customized . The task execution results can be queried . |
| 4 | Go Machinery | http://github.com/RichardKnop/machinery | Machinery It's a Go Asynchronous task queue and job queue of language , Based on distributed messaging . similar Python Of Celery frame . |
| 5 | kaca | http://github.com/scottkiss/kaca | kaca Yes, it is golang Language development is based on websocket News release of the agreement / Subscription system . |
Server management
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Sharkey | https://github.com/square/sharkey | Sharkey yes OpenSSH Manage the services used by certificates .Sharkey It is divided into client components and server components , The server is responsible for issuing the signed host certificate , The client is responsible for installing the host certificate on the machine . |
| 2 | OSinstall | http://github.com/idcos/osinstall | CloudBoot”(OSinstall) Cloud installed platform , It is a product launched by Hangzhou Yunji technology, a financial cloud startup X86 Server automatic installation tool , follow Apache agreement , Completely open source free . Fully automatic construction of physical machine resource pool , It is as convenient to install physical machines as to create virtual machines . |
| 3 | ssh2go | http://github.com/karfield | ssh2go It's right libssh Of golang encapsulation .libssh yes SSH Code base for , Support both server and client , What we see everyday ssh, sshd, scp, sftp All based on libssh.ssh2go It's right libssh Of Go Language binding , 100% Of libssh Interfaces are available , Also integrate examples , For reference . |
| 4 | Gooverssh | https://github.com/scottkiss/gooverssh | gooverssh Is based on gosshtool One of the ssh The development package is based on ssh Local port forwarding service applet , It can easily break through some network restrictions , Such as through ssh Agent accesses intranet database server |
| 5 | gosshtool | http://github.com/scottkiss/gosshtool | gosshtool provide some useful functions for ssh client in golang.implemented using golang.org/x/crypto/ssh.go Language provides ssh The relevant operation , Support ssh Local port forwarding service |
| 6 | WebConsole | http://git.oschina.net/shibingli/webconsole | be based on Golang、WebSocket、TermJS Of SSH Remote terminal , It is mainly used in isolated networks ,SSH Access problem of remote terminal . |
| 7 | GoWebSSH | http://github.com/who246/GoWebSSH | GoWebSSH -golang Language development web server manager Server and command management /beego Open source framework /WebSocket technology |
Safety tools
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | gomitmproxy | https://github.com/sheepbao/gomitmproxy | GomitmProxy I want to use it golang The realization of language mitmproxy, The main implementation http agent , So far http Agents and https Bag grabbing function . |
| 2 | Hyperfox | http://github.com/xiam/hyperfox | Hyperfox It is a safe tool for proxy and record in LAN HTTP and HTTPS Communications . |
| 3 | Gryffin | http://github.com/yahoo/gryffin | Gryffin It is a large-scale project developed by Yahoo Web Security scanning platform . It's not another scanner , Its main purpose is to solve two specific problems —— Coverage and scalability . |
| 4 | ngrok | http://github.com/inconshreveable/ngrok | ngrok It's a reverse agent , By running on a common endpoint and locally Web Set up a secure channel between servers .ngrok Capture and analyze traffic on all channels , Convenient for later analysis and playback . |
Network tools
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | DaoliNet | https://github.com/daolinet/daolinet | DaoliNet Is a software defined network (SDN) System , It is designed for Docker Containers provide dynamic 、 Efficient links . stay Docker In the container , Microservice workloads are light and transient ,DaoliNet Just for this nature . |
| 2 | Seesaw | http://github.com/google/seesaw | Seesaw yes Google One of the open source is based on Linux Load balancing system .Seesaw Contains basic load balancing features , At the same time, it supports some advanced functions , Such as :anycast, Direct Server Return (DSR), Support multiple VLANs And centralized configuration . At the same time, it is designed to be easy to maintain . It should be noted that , Although the project is attached to Google Name , But not Google Official products . |
| 3 | TcpRoute2 | http://github.com/GameXG/TcpRoute2 | TcpRoute, TCP Layer router . about TCP Connect automatically from multiple lines ( Allow arbitrary nesting )、 Choose the best route among the results of domain name resolution .TcpRoute2 yes golang Rewritten version . adopt socks5 Agency agreement to provide external services . The proxy function is split into separate libraries , Detailed agent url For format level options, see ProxyClient, Currently, direct connection is supported 、socks4、socks4a、socks5、http、https、ss Agent line |
| 4 | Gor | http://github.com/buger/gor | Gor Yes, it is Go It's easy to write HTTP Traffic replication tool , Mainly to return traffic from the production server to the development environment . Use Gor You can test the code in an actual user session . |
| 5 | Traefik | https://github.com/containous/traefik | Træfɪk It's a new type of http Reverse proxy 、 Load balancing software , Can easily deploy microservices . It supports multiple back ends (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) , Configuration can be automated 、 Dynamic management . |
| 6 | TChannel | http://github.com/uber/tchannel | TChannel Is used for RPC Network multiplexing and framing protocol . |
Web Tools
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Tyk | http://github.com/lonelycode/tyk | Tyk It's an open source 、 Lightweight 、 Fast and scalable API gateway , Speed limits and quotas , Support authentication and data analysis , Support multi-user and multi organization , Provide full RESTful API. |
| 2 | Shortme | http://github.com/andyxning | use Golang Compiling URL Short link service . |
| 3 | WuKongSearch | http://github.com/huichen/wukong | WuKong It's a full text search engine . The functional features are : Efficient indexing and searching (1M Micro-blog 500M data 28 Seconds index finished ,1.65 Millisecond search response time ,19K Search for QPS); Support Chinese word segmentation ( Use sego Word segmentation package concurrent word segmentation , Speed 27MB/ second ); Support to calculate the immediate distance of keywords in the text (token proximity); Support computing BM25 Correlation degree ; Support custom scoring fields and scoring rules ; Support online addition 、 Delete index ; Support persistent storage ; It can realize distributed index and search |
| 4 | Pholcus | http://github.com/henrylee2cn/pholcus | Pholcus( Pholcus ) It's a pure Go High concurrency of language writing 、 Distributed 、 Heavyweight crawler Software , Support single 、 Server side 、 There are three operation modes of the client , Have Web、GUI、 There are three operation interfaces on the command line ; The rules are simple and flexible 、 Batch task concurrency 、 Rich output methods (mysql/mongodb/csv/excel etc. )、 A large number of Demo share ; At the same time, she also supports horizontal and vertical grasp modes , Support simulated Login and task suspension 、 Cancel a series of advanced functions . |
| 5 | Codetainer | http://github.com/codetainerapp/codetainer | Codetainer It allows you to create a sandbox based on the code on the browser , It can be easily embedded into your Web Application . You can think of it as codepicnic.com Open source cloning of ) . |
| 6 | GoTTY | http://github.com/yudai/gotty | GoTTY Is a simple command line tool , You can put CLI Tools are shared as Web application .GoTTY The terminal can be used as Web App sharing . |
| 7 | TermUI | http://github.com/gizak/termui | Go Terminal dashboard written in language |
| 8 | Hound | http://github.com/etsy/hound | Lightning fast code search open source tools |
| 9 | goim | http://github.com/Terry-Mao/goim | goim It's a cluster supporting im And real time push service ( Support websocket,http and tcp agreement ) |
| 10 | fasthttp | http://github.com/valyala/fasthttp | asthttp yes Go Fast HTTP Realization , The current in 1M Concurrent production environments are very successful , It can be done from a single server 100K qps The continuous connection of .HTTP Server performance and net/http Compare ,fasthttp Than net/http fast 10 times |
| 11 | netgraph | http://github.com/ga0/netgraph | netgraph It's a Go Language, cross platform B/S Architecturally HTTP Caught tools , Convenient in Linux View directly on the server HTTP package . |
| 12 | gohttp | http://github.com/codeskyblue/gohttp | gohttp It's a http File server , Functions include : Preview function of various documents , Real time directory zip Package download , QR code scanning and downloading support , Online installation of Apple apps , File upload, etc |
| 13 | API-front | no | API front yes HTTP API front end , You can forward the request proxy 、 Analysis of protocol packet capture 、 Traffic replication . Mainly used for developing test environment , Used to solve problems such as changing development and testing environment |
Web frame
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Iris-Go | no | adopt Iris-Go, It's convenient to help you to develop software based on web Application . Simply speaking :Iris-Go It's the same as the domestic bull BeeGo similar , But according to the official information ,Iris-Go Better performance ! |
| 2 | Baa | http://github.com/go-baa/baa | Baa A simple and efficient Go web Development framework . There are mainly routes 、 middleware , Dependency injection and HTTP Context makes up . |
| 3 | Orivil | http://github.com/orivil/orivil | Orivil By golang New development web frame , Inspiration comes from Laravel And Symfony. |
| 4 | ecgo | http://github.com/tim1020/ecgo | ecgo It is easy to learn 、 Easy to use 、 Extensible go web Development framework |
| 5 | Gin | http://github.com/gin-gonic/gin | Gin It's a use. Go Language development Web frame , Provide classes Martini Of API, But the performance is better . Because of the httprouter Improved performance 40 Twice as many . |
| 6 | Melody | http://github.com/olahol/melody | Melody It's a Go The miniature of language WebSocket frame , be based on github.com/gorilla/websocket Development , |
| 7 | utron | http://github.com/gernest/utron | utron It's a Go Language is lightweight MVC frame , For fast building scalable and reliable database driven Web application . |
| 8 | Lessgo | http://github.com/lessgo/lessgo | Lessgo Is a Go The language is simple 、 Stable 、 Efficient 、 agile web Fully develop the framework . Its project organization form has been carefully designed , Achieve front and rear end separation 、 Separation of system and business , Perfect compatibility MVC And MVVC And other development models , It is very conducive to enterprise application and API Interface development . Of course , The most noteworthy thing is that it groundbreaking supports runtime route reconstruction , Developers can find it in Admin The background can be easily enabled / Disable modules and operations , add to / Remove functions such as middleware ! meanwhile , It recommends HandlerFunc And MiddlewareFunc Based functional programming , It also makes the development more flexible and interesting . |
| 9 | Hopen | http://github.com/who246/hopen | Golang web Fast development framework . |
| 10 | ThinkGo | http://github.com/henrylee2cn/thinkgo | ThinkGo Is a Go language-written web Rapid development framework . It is based on the open source framework Gin Secondary development , It aims to realize a kind of ThinkPHP High availability 、 Efficient web frame . In this thank you Gin and httprouter. Its most prominent feature is the module 、 controller 、 The standard of three-stage operation MVC framework , And the directory structure of modules and plug-ins is completely consistent , Make development very simple and flexible . |
| 11 | beego | http://github.com/astaxie/beego | beego It's a use. Go Developed application framework , The idea comes from tornado, Routing design comes from sinatra, |
| 12 | Revel | http://github.com/robfig/revel | Revel yes Go The framework of language , The idea comes entirely from Java Of Play Framework. |
| 13 | Martini | http://github.com/codegangsta/martini | Martini It's a very new Go Linguistic Web frame , Use Go Of net/http Interface development , similar Sinatra perhaps Flask A framework like that , You can use your own DB layer 、 Session management and templates . |
| 14 | Tango | http://github.com/lunny/tango | Tango, The microkernel is scalable Go Language Web frame . It also supports functions and structs as executors , Rich plug-ins . |
| 15 | Macaron | https://github.com/go-macaron/macaron | Macaron It's a high productivity and modular design Go Web frame . It's the framework Martini The basic idea of , And make advanced expansion on this basis . |
| 16 | Web.go | http://github.com/hoisie/web | eb.go Follow web.py similar , But it uses Go Programming language Web Application development framework .Go Not long after it was released, the framework was born , Almost the first Go frame . It has not been updated for some time now . however , There is not much code for this framework , Its source code can be read . |
Blockchain Technology
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | fabric | https://github.com/hyperledger/fabric | Fabric It's an open source blockchain implementation , The development environment is based on VirtualBox Virtual machine , The deployment environment can build its own network , It can also be deployed directly in BlueMix On , The deployment mode can be traditional or docker turn , Consensus building algorithm plug-in , Support with Go and JavaScript Develop smart contracts , Especially the enterprise level security mechanism and membership It is characterized by mechanism . If you don't know what these terms mean , Just remember a little ,Fabric On blockchain , Probably just like Hadoop For big data . |
Other
| Serial number | name | Project address | brief introduction |
|---|---|---|---|
| 1 | Meizar | http://github.com/qibin0506 | golang Realize capturing sister graph . Default image source website :http://jandan.net. You can also customize rules to capture pictures of other websites |
| 2 | KodeRunr | https://github.com/jaxi/koderunr | KodeRunr ( pronounce as code runner) I use it in my spare time Go The application of language writing . seeing the name of a thing one thinks of its function , You can use it on the web 、 Write programs on the command line , Post code , At the same time, there is no need to install any programming language locally . Support Ruby, Python, GO, Swift, C, Elixir etc. |
| 3 | godaemon | http://github.com/tim1020/godaemon | godaemon It is used to add daemon and graceful Of . |
| 4 | Gomobile | http://github.com/golang/mobile | Gomobile It's an application to iOS and Android Excellent cross platform development library , For developers to create Android and iOS Tools for mobile platform code . |
| 5 | gojieba | http://github.com/yanyiwu/gojieba | " stammer " Chinese word segmentation Golang Language version . |
| 6 | Cherry | http://github.com/rafael-santiago/cherry | Cherry It's a use Go Language development Web Chat engine . |
| 7 | MailSlurper | http://github.com/mailslurper/mailslurper | MailSlurper It's a portable SMTP Mail server , It is very useful for local and team application development .MailSlurper Small size, fast operation , Support SQLite, MSSQL and MySQL. database . |
| 8 | RobustIRC | http://github.com/robustirc/robustirc | RobustIRC There will be no network interruption IRC.RobustIRC The main features :* There will be no network interruption when the server is unavailable ;* Standards can be used IRC client ;* robust , It can handle the connection between the client and the network well |
| 9 | Qor | http://github.com/qor/qor | Qor Is based on Golang Developed CMS A series of tool Libraries , be based on Qor Can quickly build the background management system of the website .Qor The working library of contains :1, Background management : You can go into the database CURD management , Support one-to-one , One to many , Many to many relationship maintenance and so on ; 2, Support uploading images to cloud and filesystem,resize、crop Pictures, etc. ;3,Publish Publishing system , Data can be modified , And after checking , Release to the official environment ; 4, State machine , Systems that can be used to develop workflows ; 5,I18n, translate , It can be done by WEB Interface translation , And save the translation to the database ; 6,L10n, localization , Different from translation , He can target a certain area to the content , Or localize the data structure .7,Roles, Rights management ; 8,Exchange, adopt Excel,CSV Import export data ; 9,Worker, Background task management , It can be used for running timing tasks and so on |
| 10 | FishChat | http://github.com/oikomi/FishChatServer | FishChat( Fish pass —— deliver letters ) Distributed scalability IM The server , It's a pure golang Write excellent instant messaging software (IM), It combines the advantages of existing products on the market , And have Intelligent hardware gateway management ( Study QQ IOT thought , In the process of conception ). |
| 11 | goRBAC | http://github.com/mikespook/gorbac | goRBAC by Go Language applications provide lightweight role-based access control . |
| 12 | boom | http://github.com/rakyll/boom | Boom yes google A female engineer used Go Language development is similar apache ab Performance testing tools for . comparison ab,boom Better cross platform , And easier to install . |
| 13 | Mattermost | http://github.com/mattermost/platform | attermost It's a Slack Open source alternatives to .Mattermost use Go Language development , This is an open source team communication service . Bring cross PC And mobile device messages 、 File sharing , Provide archiving and search functions . |
| 14 | glot | http://github.com/prasmussen/glot | glot It is a platform that can run code fragments of various programming languages online , Project adoption Haskell Script 、Go、Erlang and Shell Development , The operating environment is based on Docker The container carries on . |
| 15 | Lantern | http://github.com/getlantern/lantern | Lantern It is a point-to-point scientific Internet software . |
| 16 | dog-tunnel | http://github.com/vzex/dog-tunnel | Dog hole is a high-speed P2P Port mapping tool , Support at the same time Socks5 agent . 0.5 Open source after version ,UDP The bottom layer is based on open source libraries KCP rewrite , The efficiency is greatly improved , Obvious advantages in harsh environment . At the same time, non P2P edition (Lite edition ), The connection process at both ends is completely independent of the intermediate server , Support encryption and login authentication , Automatic reconnection , However, it needs to artificially ensure that both ends can be connected normally ( Otherwise, please use the default P2P edition ) |
| 17 | GRPC | https://github.com/grpc | GRPC It's a high performance 、 Open source and generic RPC frame , Facing mobile and HTTP/2 Design . At present C、Java and Go Language version , Namely :grpc, grpc-java, grpc-go. among C Versioning support C, C++, Node.js, Python, Ruby, Objective-C, PHP and C# Support .GRPC be based on HTTP/2 Standard design , Bring about things like two-way flow 、 Flow control 、 The head of compression 、 single TCP Multiple reuse requests on the connection . These features make it better on mobile devices , More power and space saving . |
| 18 | LiteIDE | https://github.com/visualfc/liteide | LiteIDE It's an open source 、 Cross-platform lightweight Go Language integrated development environment (IDE). |
边栏推荐
- Realize the basic operations such as the establishment, insertion, deletion and search of linear tables based on C language
- 宇宙没有尽头,UTONMOS能否将元宇宙照进现实?
- 微策生物IPO过会:年营收12.6亿 睿泓投资与耀合医药是股东
- English grammar_ Personal pronoun
- JS callback function (callback)
- JS module, closure application
- NoSQL —— NoSQL 三大理论基石 —— CAP —— BASE—— 最终一致性
- [training day3] delete [simulation]
- Dat.gui control custom placement and dragging
- Huiliang technology app is a good place to go to sea: after more than ten years of popularity, why should the United States still choose to go to sea for gold
猜你喜欢

基于STM32的自由度云台运动姿态控制系统

YOLOX改进之一:添加CBAM、SE、ECA注意力机制

利用C语言实现URL解析的基本方法之优秀
![[luogu_p4556] [Vani has an appointment] tail in rainy days / [template] segment tree merging](/img/e3/c2b3d45c6a0d1f7ff0b8b7bccf2106.png)
[luogu_p4556] [Vani has an appointment] tail in rainy days / [template] segment tree merging

【多线程的相关内容】

JS module, closure application

VSCode -- 创建模板文件

English grammar_ Personal pronoun

Motion attitude control system of DOF pan tilt based on stm32

【笔记】逻辑斯蒂回归
随机推荐
Thinkphp+ pagoda operation environment realizes scheduled tasks
Wechat campus laundry applet graduation design finished product of applet completion work (3) background function
Design of LR1 compiler based on C language
[C Advanced] pointer array vs array pointer
不需要标注数据的语义分割!ETH&鲁汶大学提出MaskDistill,用Transformer来进行无监督语义分割,SOTA!...
In the "meta cosmic space", utonmos will open the digital world of the combination of virtual and real
PCL 常用操作
redis集群搭建-使用docker快速搭建一个测试redis集群
List map basic notes
How to view revenue and expenditure by bookkeeping software
Wechat campus laundry applet graduation design finished product (4) opening report
[luogu_p5431] [template] multiplicative inverse 2 [number theory]
CARLA 笔记(04)— Client 和 World (创建 Client、连接 World 、批处理对象、设置 Weather、设置 Lights、World snapshots)
VSCode -- 创建模板文件
Dako held a meeting for the biological IPO: the annual revenue was 837million, and Wu Qingjun and his daughter were the actual controllers
【图论】负环
Travel notes from July 11 to August 1, 2022
UTNet 用于医学图像分割的混合Transformer
基于C语言实现线性表的建立、插入、删除、查找等基本操作
C#测量工具示意图