golang 服务诡异499、504网络故障排查

事故经过 排查 总结 事故经过 11-01 12:00 中午午饭期间,手机突然收到业务网关非200异常报警,平时也会有一些少量499或者网络抖动问题触发报警,但是很快就会恢复(目前配置的报警阈值是5%,阈值跟当时的采样窗口qps有直接关系)。 报警当时非200占比已经过10%并且在持续升高,根据历史规律应该很快就会恢复,我们稍微观察了几分钟(一边吃着很香的饺子一边看着手机),但是过了几分钟故障没有恢复而且占比升高了突破50%,故障逐渐升级(故障如果不在固定时间内解决会逐渐升级,故障群每次升级都会...阅读全文

51CTO博客 2019-11-16 19:45:27 王清培

Mac Golang开发环境搭建

由于需要进行go语言项目的开发,基于自己个人的Mac电脑做了一些开发环境的配置,本文旨在做一个简单的记录。 先介绍下本文的电脑配置: image.png 一、安装brew Homebrew有点类似于Linux操作系统中的apt-get(Ubuntu)、yum(yum),Mac的操作系统中使用它解决包依赖问题,套用官方的话来说: 让我们开始安装吧! 在命令行输入以下指令 fabric:~ fabric$ ruby -e "$(curl -fsSL https://raw.githubusercon...阅读全文

简书 2019-11-17 02:32:42 更多精彩内容Mac os安装g 等

Go依赖管理工具Go Module

Go Module 官方提供的不再依赖gopath的包管理工具 官方文档:https://github.com/golang/go/wiki/Modules 使用示例: 在(除gopath外)自己喜欢的任意目录下,新建项目 # 新建测试项目 ➜ Desktop mkdir gotest 在gotest目录下新建main.go文件,并导入iris包 package main import "github.com/kataras/iris" func main() { } 初始化一个新的 modul...阅读全文

简书 2019-11-17 02:32:41 更多精彩内容用go-modul 等

httprouter解读(continuing)

httprouter解读 核心思想 与defaultServeMux的实现区别在于什么?采取特殊的数据结构作路由。 defaultServeMux的实现采用什么样的数据结构? httprouter的实现采用什么样的数据结构? router的架构图是怎样的,与server.go有何异同 一些http相关的细节 其他细节 细读源码 Router的 paramsPool?sync.Pool需要看看 done 修复重定向是代码大头,得细细解读重定向相关的协议内容 这部分先跳过吧,细节太多了 http包的...阅读全文

Segmentfault 2019-11-17 07:32:41 weicao

Forsaken Mail创建临时邮箱系统| 手把手教程

场景需求 不需要长时间使用的邮箱 需要大量创建临时邮箱 使用匿名邮箱 环境说明 **` `Forsaken Mail`是一个临时邮箱系统,可以供任何人接受邮件,即收即毁,支持自定义邮箱地址前缀,这里就说下`Docker`和`NPM`两种安装教程,任选一种即可,有兴趣或者有需求的可以玩玩。 Github地址:https://github.com/denghongcai/forsaken-mail 开启25 跟3000端口 发工单开 25 跟 3000端口 宝塔面板放行25 跟 3000端口 运营商...阅读全文

掘金 2019年11月16日 GDstudyer

[译]为什么你应该学习Go语言?(下)

原文地址 Go可以直接在基础硬件上运行 与其他的现代高级语言相比,如 Java 或 Python,使用 C、C++ 的最大优势,就在于性能,因为 C/C++ 均为编译型语言,而非解释型语言。(扩展:如何理解编译型语言、解释型语言?) 对于处理器来说,可以直接识别运行的是二进制文件。对于我们熟知的现代高级语言,当你编译一个用 Java 或者其他基于 JVM 的语言构建的应用程序时,它不会直接生成二进制文件,而是将人类可读的代码编译为字节代码,这些字节代码可以被 JVM 或者在底层操作系统之上运行的...阅读全文

掘金 2019年11月16日 ClamorousKun

Python终将成为最火爆的编程语言,因为它是属于大众的

很多培训机构宣称py是人工智能必备的编程语言,打着速成的旗号来引诱学者学习python。事实却并不是这样的,万丈高台平地起,不论你想从事怎样的编程工作,都是从最基本的编程技巧开始的;Python并不适合所有人,如果你是一个编程类专业的学生,适度了解python是有必要的(python的第三方库的爆发造就了不少C/C++程序员的就业),但如果你作为一个非编程类专业但又需要了解编程的人,我强烈推荐你学习python。   那么Python和其它语言相比,Python的优势又在何处呢?其一,Pytho...阅读全文

Uber Go 语言编码规范

Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 GitHub,经过一年的积累和更新,该规范已经初具规模,并受到广大 Gopher 的关注。本文是该规范的中文版本。本版本会根据原版实时更新。 版本 当前更新版本:2019-11-13 版本地址:commit:#71 如果您发现任何更新、问题...阅读全文

掘金 2019年11月15日 知识铺

gocron入门笔记

背景 最近在开发过程中,感觉到管理在不同机器上的管理不同定时任务有点麻烦,于是想集中化管理定时任务。经过一番调研,选择了gocron-定时任务管理系统。 介绍 github地址:https://github.com/ouqiang/go... 优势:基于go语言开发的一款轻量级定时任务集中调度和管理系统,性能高,页面操作也很简单。 安装 安装过程比较简单,github项目里有介绍,一步步来基本不会有问题。这里概括下几个点: 需要下载 gocron 和 gocron-node 两个包 gocron...阅读全文

Segmentfault 2019-11-17 07:32:41 pikalu

go1.13 安装 etcd3.3的问题

安装 etcd 的时候提示错误: cannot find module providing package github.com/coreos/go-systemd/journal 在 go1.12 时提供错误,但编译通过。go1.13错误。解决方式如下: 1.自己从github拉取go-systemd 并保存到 $GOPATH src 下 git clone github.com/coreos/go-systemd 2.使用replace在go.mod中替换go-systemd ## go.m...阅读全文

Segmentfault 2019-11-17 07:32:40 xingyys

centos7安装Go

首先打开go语言官方下载页: https://golang.google.cn/dl/ 这里使用二进制源码包来安装: 下载 go1.13.4.linux-amd64.tar.gz wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz 然后解压: tar zxvf go1.13.4.linux-amd64.tar.gz 然后在任意目录运行查看版本: [root@jordy tmp]# go version -bash: go: comm...阅读全文

简书 2019-11-16 03:34:00 更多精彩内容CentOS7安装 等

永续合约交易系统开发哪家强

沙僧推出的永续合约交易系统支持双向交易,多杠杆,多风险控制,风险管控分为警戒线,禁止开仓线,强平线,降低用户风险率;并且平台引入了用户和平台对赌,以及代理商推荐返佣机制,推动了平台用户的发展。沙僧数字货币永续合约交易系介绍1)合约模型设计交易方式:市价交易、限价交易合约周期:无定时交割时间,用户可自由选择交割时间隔夜费设置:用户购买每超过24小时则会收取隔夜费 合约单位:手/张交易方向:看涨、看跌、双向交易保证金收取模式:固定保证金/百分比收取手续费设置:固定保证金/百分比收取交易方式:设置点差...阅读全文

简书 2019-11-16 03:34:00 更多精彩内容互融云永续合约交易 等

Go实战项目【一】Golang和Gin框架的安装和使用

Golang的安装 根据所使用的电脑操作系统,下载相对应的版本Golang下载 比如我的电脑是macOS系统,下载的是 Golang macOS安装包 pkg版本,安装方便快捷。当然也可以选择上面那个源码安装 下载完pkg文件后,打开,一直下一步即可。 安装完毕后配置路径 打开终端,执行 vi ~/.bash_profile .bash_profile添加的内容如下: #Go export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin 然后...阅读全文

简书 2019-11-16 03:33:59 更多精彩内容Golang指南: 等

Windows下安装go开发环境

windows系统安装go开发环境 国内网络,可以到https://golang.org/dl/下载最新安装包,注意这里要下载windows对应的下载包。 下载对应安装包 下载后直接双击msi文件安装,默认安装在c:\go。 双击安装 安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录 c:\go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 c:\go\ 验证是否安装成功,在运行中输入 cmd 打开命令行工具,在提示符下输入 go 验证安装成功 通...阅读全文

PHP与GO的神仙组合,为开发者完美解决了PHP的局限性

PHP语言已经成为进行web开发的主力军,随着对技术的要求越来越高,很多团队在项目运作中,会引入 Golang到开发框架中,这不仅会提升产品性能,还能在原有基础上改变可扩展性,并且运行速度提高将近几十倍。将GO语言与PHP相结合,两者间相互取长补短,为项目的完成带来圆满收官。 GO语言是种什么样的语言?它与微服务的结合会给PHP开发带来怎么样的性能提升?PHP知识体系涉及广泛,如果想成为一名合格的PHP开发工程师,通往进阶之路,则需要对这些知识点都要有所了解。GO语言是一种静态强类型、编译型、并...阅读全文

简书 2019-11-16 03:33:43 更多精彩内容为什么很多公司都转 等

蚂蚁金服 Service Mesh 大规模落地系列 - 核心篇

揭秘 2019 Service Mesh 双十一大考 蚂蚁金服很早开始关注 Service Mesh,并在 2018 年发起 ServiceMesher 社区,目前已有 4000+ 开发者在社区活跃。在技术应用层面,Service Mesh 的场景已经渡过探索期,今年已经全面进入深水区探索。2019 年的双十一是我们的重要时刻,我们进行了大规模的落地。作为技术人能面对世界级的流量挑战,是非常紧张和兴奋的。当 Service Mesh 遇到双十一又会迸发出怎样的火花?蚂蚁金服的 LDC 架构继续演...阅读全文

简书 2019-11-16 03:33:41 更多精彩内容蚂蚁金服缘何自研S 等

Go的gc机制(转)

虽然Golang的GC自打一开始,就被人所诟病,但是经过这么多年的发展,Golang的GC已经改善了非常多,变得非常优秀了。 以下是Golang GC算法的里程碑: v1.1 STW v1.3 Mark STW, Sweep 并行 v1.5 三色标记法 v1.8 hybrid write barrier 经典的GC算法有三种:引用计数(reference counting)、标记-清扫(mark & sweep)、复制收集(Copy and Collection)。 Golang的GC算法主要是...阅读全文

简书 2019-11-16 03:32:53 更多精彩内容[转]GO GC 等