Golang
Mirage520
这个作者很懒,什么都没留下…
展开
-
Golang Http Server源码阅读
Writer, req *http.Request) { io.WriteString(w, “hello, world!\n”) }func main() { http.HandleFunc(“/hello”, HelloServer) err := http.ListenAndServe(“:12345”, nil) if err != nil {转载 2015-08-26 11:08:20 · 981 阅读 · 0 评论 -
Mac下安装golang环境,安装godoc,gooracle,gocode等
git clone https://github.com/golang/tools golang.org/x/tools 即在 GOPATH 下构建一个 golang.org/x/tools 的包,然后 go build golang.org/x/tools/cmd/godoc 这样能够编译出 godoc 二进制可以任意目录下:git clone https://github.com/go原创 2016-02-26 22:50:07 · 3093 阅读 · 0 评论 -
gopush-cluster 架构
前言gopush-cluster是一套golang开发的实时消息推送集群,主要分享一下开发这套系统的想法和思路。架构主要分为三个模块来开发,comet/web/message。comet主要负责消息排队、消息推送以及和客户端的连接维护;整套系统依据是消息ID顺序原则获取消息(客户端本地获取最大的消息是1,那么之后获取的消息就是大于1的,获取离线消息的时候也要转载 2015-12-04 21:11:27 · 505 阅读 · 0 评论 -
在 Golang 中使用 Protobuf
安装 goprotobuf 1.从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 protoc(可下载到 Windows 下的二进制版本wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.g转载 2015-12-04 21:01:14 · 1025 阅读 · 0 评论 -
在 Ubuntu 14.04 中配置 Sublime Text 3 的 Golang 开发环境
1、下载 golang 并解压(这里以解压到 $HOME/golang/ 目录为例):http://www.golangtc.com/download2、创建 GoPath 相关目录(这里以 $HOME/golang/projects/ 目录为例):mkdir ~/golangmkdir ~/golang/projectsmkdir ~/golang/projects/3rdp转载 2015-09-22 15:39:48 · 2816 阅读 · 0 评论 -
SublimeGDB调试Golang
下载 SublimeGDB在sublime text 2 中 Install Package -> SublimeGDB重启Sublime Text 2修改 workingdir 为工程所在目录,修改 commandline中executable为可执行文件名,如"workingdir": "${home}/gocode/bin", "commandline": "gdb --interp转载 2015-09-19 12:46:37 · 2491 阅读 · 0 评论 -
2.10. weed-fs
2.10. weed-fsweed-fs是Go语言实现的,类facebook haystack的面向blob的分布式存储系统.上周从Quora问题 http://www.quora.com/What-is-a-good-choice-for-storing-blob-like-files-in-a-distributed-environment 下面的回答中发现。最近比较关注Go语转载 2015-10-08 23:04:10 · 1121 阅读 · 0 评论 -
Golang适合高并发场景的原因分析
典型的两个现实案例:我们先看两个用Go做消息推送的案例实际处理能力。360消息推送的数据:16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒转载 2015-09-17 23:35:33 · 953 阅读 · 0 评论 -
weed-fs 源码解读—分布式处理过程
上次看完 weed-fs 在存储处理上的代码之后,原想着能很快把分布式处理这一块的代码看完的,没想到到现在还是处于半懵懂状态,只能边写边整理思路了。由于我经验尚浅,加上学习上走了不少的弯路,所以对很多东西真的是完全不懂。像 weed-fs 这样子的东西,它们是如何处理分布式的,如何把数据分不到不到结点上的,如何保证数据一致性的等等这些问题我都不知道答案。因此这次刚好借着 weed-fs,以转载 2015-09-30 18:18:21 · 1833 阅读 · 0 评论 -
分布式存储Weed-FS源码分析
基于源码版本号 0.67 , 【Weed-FS又名叫Seaweed-FS】。Weed-FS 是一个非常优秀的由 golang 开发的分布式存储开源项目, 虽然在我刚开始关注的时候它在 github.com 上面只有 star 50+, 但是我觉得这个项目是一个几千 star 量级的优秀开源项目。 Weed-FS 的设计原理是基于 Facebook 的一篇图片存储系统的论文 Facebo转载 2015-09-02 11:28:40 · 2679 阅读 · 0 评论 -
一个Go推送服务器集群:gopush-cluster
Terry-Mao/gopush-cluster 是一个支持集群的comet服务(支持websocket,和tcp协议)。特性轻量级高性能纯Golang实现支持消息过期支持离线消息存储支持单个以及多个私信推送支持单个Key多个订阅者(可限制订阅者最大人数)心跳支持(应用心跳和tcp keepalive)支持安全验证(未授权用户不能订阅)多协议支持(websocket,tcp)详细的转载 2016-04-18 19:02:05 · 2406 阅读 · 1 评论