golang
shenlanzifa
这个作者很懒,什么都没留下…
展开
-
基于go语言的消息推送系统架构分析
本系统是猎豹移动基于go语言开发的一套消息推送系统,源码地址:https://github.com/Terry-Mao/goim 一、架构图二、功能简介1.comet长连接服务器,支持长轮训、tcp、websocket连接,有超时机制2.logic逻辑处理服务器,消息推送入口,通过userId在router服务器中查找对应的c转载 2015-11-30 11:54:20 · 3136 阅读 · 0 评论 -
golang time操作整理
这里的内容大部分是从他人处整理得到http://my.oschina.net/1123581321/blog/190942时间戳 当前时间戳fmt.Println(time.Now().Unix())# 1389058332str格式化时间当前格式化时间fmt.Println(time.Now().Format("2006-01-02 15:04:05")) #转载 2015-12-01 12:45:08 · 1315 阅读 · 0 评论 -
Go高性能编程技巧
1.在高并发队列任务分发的场景中Ring Buffer比Channel的性能更好2.defer功能不是静态编译时提供的,而是运行时提供的,所以使用defer会产生一些额外的性能开销(了解就好,该用还是得用)3.encoding/json序列化是通过反射机制实现的,性能很差,可以使用ffjson生成encode/decode代码来提升性能。如果可能,使用MsgPack替代JSON,因转载 2016-05-04 10:27:57 · 2461 阅读 · 0 评论 -
Golang 单元测试和性能测试
开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而性能测试的重点在于发现程序设计上的一些问题,让线上的程序能够在高并发的情况下还能保持稳定。本小节将带着这一连串的问题来讲解Go语言中如何来实现单元测试和性能测试。G转载 2016-05-19 10:35:07 · 31543 阅读 · 0 评论 -
Golang 反射学习
首先,先引用一下很多文章中讲到的golang类型系统。类型和接口由于反射是基于类型系统(type system)的,所以先简单了解一下类型系统。首先Golang是一种静态类型的语言,在编译时每一个变量都有一个类型对应,例如:int,floate32,[]byte,*MyType等等。如果我们这样声明:type MyInt intvar i intvar j M原创 2016-12-14 18:38:12 · 576 阅读 · 0 评论 -
Go语言TCP Socket编程
Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket转载 2016-12-29 17:03:18 · 2930 阅读 · 0 评论 -
使用 Elastic Stack 来监控和调优 Golang 应用程序
原文:http://studygolang.com/wr?u=http%3a%2f%2felasticsearch.cn%2farticle%2f138Golang 因为其语法简单,上手快且方便部署正被越来越多的开发者所青睐,一个 Golang 程序开发好了之后,势必要关心其运行情况,今天在这里就给大家介绍一下如果使用 Elastic Stack 来分析 Golang 程序的内存使用情转载 2017-03-13 15:14:46 · 1013 阅读 · 0 评论 -
如何用Go实现一款类似滴滴优步的网络约车软件(含源码)
导读:我们经常使用打车软件出行,也经常思考其架构设计。本文作者在所在国家也负责开发一款打车软件,并且开源了其中大部分代码,可以帮助我们更好了解网络约车软件的架构体系。本文由高可用架构翻译。各位读者好,本文将给大家分享我们如何通过内存存储实现地图动画车效果。 我们公司也运营了一个类似 Uber 的软件 Namba Taxi,我们需要在客户端主屏幕上显示动画车。转载 2017-03-13 15:15:47 · 7135 阅读 · 0 评论