消息发布/订阅系统 kaca
kaca 是用 golang 语言开发的基于 websocket 协议的消息发布/订阅系统。 服务器端代码: <pre class="brush:cpp ;toolbar: true; auto-links: false;">package main import ( "github.com/scottkiss/kaca" ) func main() { //use true to set check origin kaca....阅读全文
kaca 是用 golang 语言开发的基于 websocket 协议的消息发布/订阅系统。 服务器端代码: <pre class="brush:cpp ;toolbar: true; auto-links: false;">package main import ( "github.com/scottkiss/kaca" ) func main() { //use true to set check origin kaca....阅读全文
NUID 是一个高性能的唯一标识生成库,使用 GO 语言开发。 示例代码: <pre class="brush:cpp ;toolbar: true; auto-links: false;">// Utilize the global locked instance nuid := nuid.Next() // Create an instance, these are not locked. n := nuid.New() nuid = n.Next() // Generate a n...阅读全文
KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP。 连时钟都需要外部传递进来,内部不会有任何一次系统调用。 整个协议只有 ikcp.h, ikcp.c两个源文件,可以方便的集成到用户自己的协议栈中。也许你实现了一个P2P,或者某个基于 UDP的协议,而缺乏一套完善的AR...阅读全文
BLog4go 是高性能日志库。创新地使用“边解析边输出”方法进行日志输出,同时支持回调函数、日志淘汰和配置文件。可以解决高并发,调用日志函数频繁的情境下,日志库造成的性能问题。 特性: * _Partially write_ to the [bufio.Writer](https://golang.org/pkg/bufio/#Writer) as soon as posible while formatting message to improve performance * 支持...阅读全文
![alg tag](http://static.oschina.net/uploads/img/201603/15130717_M8y6.png) 容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Project Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制...阅读全文
OpenFalcon是一款小米监控系统。 功能: * **数据采集免配置**:agent自发现、支持Plugin、主动推送模式 * **容量水平扩展**:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 * **告警策略自发现**:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 * **告警设置人性化**:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 * **历史数据高效查询**:秒...阅读全文
Easyjson用于序列化JSON数据,采用Go语言编写,而不是通过使用反射生成编组代码。一个库的目的之一是使所生成的代码足够简单,使得它可以容易地优化或固定。另一个目标是为用户提供不可定制的“encoding/json”,如产生snake_case名称或启用默认“omitempty“生成代码。 用法: <pre class="brush:shell;toolbar: true; auto-links: false;">go get github.com/mailru/easyjson/...阅读全文
ccql 是 Github 官方开发的一个 MySQL 客户端工具,可以并行支持多个 MySQL 服务器,相当于同时在多个 MySQL 服务器上执行命令。阅读全文
Lion 是一个 Go 语言的快速 HTTP 路由器,支持构建可伸缩的模块化的 REST APIs 应用。 ![Lion's Hello World GIF](http://static.oschina.net/uploads/img/201603/21072501_zP7s.gif) ## 特性 * **上下文敏感**: Lion 使用事实标准 [net/Context](https://golang.org/x/net/context) 用于存储路由参数并在中间件和 HTTP ...阅读全文
**安装 ** 使用 go get <pre class="brush:shell;toolbar: true; auto-links: false;">$ go get github.com/bradfitz/gomemcache/memcache</pre> 此命令后gomemcache即可使用。它的来源将是: <pre class="brush:shell;toolbar: true; auto-links: false;">$GOPATH/src/github.com...阅读全文
![traefik.logo.png](https://github.com/containous/traefik/blob/master/docs/img/traefik.logo.png?raw=true) Træfɪk 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 ([Docker](https://www.docker.com/), [Swarm](https://docs.docker.com/swarm), [Mesos/Marathon](ht...阅读全文
Doorman 是一个客户端速率限制的解决方案,客户端与共享资源进行通讯,包括数据库、gRPC 服务、RESTful API 等等可使用 Doorman 来限制对资源的调用。Doorman 使用 Go 语言开发,使用 gRPC 的通讯协议。其高可用特性需要一个分布式的锁管理器,当前支持 [etcd](/p/etcd),也可使用 [Zookeeper](http://www.oschina.net/p/zookeeper) 替代。阅读全文
# zerg 基于docker的分布式爬虫服务 [![image](https://camo.githubusercontent.com/e4deb67aa41f71d46774f192b05b75be5c3da112/68747470733a2f2f7261772e6769746875622e636f6d2f6875696368656e2f7a6572672f6d61737465722f646f632f7a6572672e706e67)](https://camo.github...阅读全文
Confd是一个轻量级的配置管理工具。通过查询[Etcd](http://www.oschina.net/p/etcd),结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。阅读全文
GoshawkDB 是一个采用 Go 语言开发支持多平台的分布式的对象存储服务,支持事务以及容错。GoshawkDB 的事务控制是在客户端完成的。GoshawkDB 服务器端使用 AGPL 许可,而 Go 语言客户端使用 Apache 许可证。 ![image](http://static.oschina.net/uploads/img/201605/07080139_ryJU.png) 命令行参数: <pre class="brush:shell;toolbar: true; auto-...阅读全文
Fabric是一个开源区块链实现,开发环境建立在VirtualBox虚拟机上,部署环境可以自建网络,也可以直接部署在BlueMix上,部署方式可传统可docker化,共识达成算法插件化,支持用Go和JavaScript开发智能合约,尤以企业级的安全机制和membership机制为特色。你要是不知道这些术语什么意思,就记住一点,Fabric之于区块链,很可能正如Hadoop之于大数据。阅读全文
Teleport是一款适用于分布式系统的高并发API框架,它采用socket全双工通信,实现S/C对等工作,支持长、短两种连接模式,支持断开后自动连接与手动断开连接,内部数据传输格式为JSON。 #### 框架模型 ![image](http://static.oschina.net/uploads/img/201601/18173110_0zdr.png) ####阅读全文
OWL 是 TalkingData 公司推出的一款开源分布式监控系统 * Go 语言开发,部署维护简单 * 分布式,支持多机房 * 多维的数据模型,类 opentsdb * 支持多种报警算法,报警支持多条件组合、克隆 * 灵活的插件机制,支持任意语言编写,支持传参 * 丰富的报警渠道,邮件、微信、短信 * 原始数据永久存储 * 自带 Web 管理界面以及强大的自定义图表功能 **系统架构** ![image](https://static.oschina.net/upload...阅读全文
DBShield 是用 Go 语言开发的数据库防火墙,用来保护你的数据免受 SQL 注入的侵扰。 支持的数据库包括:DB2、MySQL、MariaDB、Oracle、PostgreSQL。 一般正常的数据库访问如下图所示: ![image](https://static.oschina.net/uploads/img/201702/16084257_prsM.png) 使用 DBShield 进行查询检测: ![image](https://static.oschina.net/upl...阅读全文
Jazigo是一个用 Go 语言编写的,用于检索多个设备的配置的工具,类似于rancid,fetchconfig,oxidized,Sweet。它具有以下特点: Go语言编写。单个可执行文件。没有运行时依赖。 直接使用:默认设置应该是开箱即用的。 工具配置自动保存为YAML。 但不要直接编辑配置文件。 产生多个并发的轻量级goroutine,以快速检测大量的设备。 很容易支持新平台。 可以从Web UI访问备份文件。 直接从Web UI查看文件差异。 支持SSH和TELNET。 ...阅读全文