Go语言中文网 为您找到相关结果 356

golang版腾讯AI SDK

腾讯AI SDK 腾讯AI开发平台sdk 开源地址:https://github.com/shiguanghu... 腾讯AI接口调用比较简单,可以通过此库简化调用流程,返回值是结构体方便使用。开发者可以不去考虑签名、数据请求就像调本地函数一样调用接口 示例 package main import ( "encoding/json" "log" "github.com/shiguanghuxian/txai" // 引入sdk ) func main() { // 系统日志显示文件和行号 log.SetFlags(log.Lshortfile | log.LstdFlags) // 创建sdk操作对象 txAi := txai.New("appid", "appkey", true) // ...阅读全文

博文 2018-07-31 16:34:51 时光弧线

Go语言程序的状态监控

Go是很实在的编程语言,从一开始就提供了很详细的运行状态信息。产品上线后的调优和排查疑难杂症都得靠这些状态信息。这边总结一些我们项目里用到的状态监控手段。 pprof Go自带了一个pprof工具,这个工具可以做CPU和内存的profiling,官方的博客有一篇文章介绍用法:《Profiling Go Programs》 官方的文章讲了怎么用自带的pprof工具分析数据,但是获得分析数据的部分比较单一,我在很长一段时间一直误以为cpuprof和memprof必须在程序启动时打开,其实cpuprof和memprof是可以在线打开和关闭的。 并且pprof模块其实不只是cpuprof和memprof这两个功能,其中还提供了Lookup功能用于获取堆状态信息、线程状态信息、 goroutine状态...阅读全文

博文 2014-10-13 14:54:27 达达

Go后台管理系统Gfast 管理系统

基于GF(Go Frame)的后台管理系统 前端采用ruoyi-ui 、Vue、Element UI。 后端采用GO语言 框架 GF(Go Frame)。 本项目由奇讯科技团队开发。 内置功能 - 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 - 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 - 岗位管理:配置系统用户所属担任职务。 - 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 - 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 - 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 - 参数管理:对系统动态配置常用参数。 - 操作日志:系统正常操作日志记录和查询;系统异常信...阅读全文

分布式作业管理系统Asgard

## 简介 Asgard是设计用于综合解决常驻进程应用、计划任务、定时任务的分布式作业管理系统。 ## 架构设计 ![架构设计图](https://raw.githubusercontent.com/dalonghahaha/Asgard/master/doc/Asgard.png) - Asgard系统由web节点、master节点、agent节点组成。 - web节点主要功能包括实例管理、分组管理、作业配置、作业运行状态控制、作业运行状态查看、日志查询 - master节点负责agent节点的状态监测,同时接收并转存agent节点上报的运行时数据 - agent节点接收web节点的指令在相应的服务器中运作相关作业 - master节点和agent节点之间通...阅读全文

开源项目 2020-06-17 16:50:07

使用 Prometheus 对 Go 应用程序进行监测

监测服务级别的指标能让团队成员更清晰的看到你的程序表现如何,你的程序如何被使用,并且可以帮助定位潜在的性能瓶颈。 [Prometheus](https://prometheus.io/) 是一个开源的监测解决方案,原生的服务发现支持让它成为动态环境下进行服务监测的一个完美选择。Prometheus 支持从 [AWS, Kubernetes, Consul 等](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file) 拉取服务 ! 当使用 Prometheus 生成服务级别的指标时,有两个典型的方法:内嵌地运行在一个服务里并在 HTTP 服务器上暴露一个 `/me...阅读全文

博文 2019-01-27 13:12:39 krystollia

区块链数字货币承兑商支付系统开发

区块链数字货币承兑商支付系统开发 数字货币承兑系统怎样的? 入金简述:加密支付系统运用了类似于支付宝的担保交易机制,结合独有的点对点传输技术、实时清算引擎、智能数字钱包、极高的网络平安体系,跨交易所最优价格兑换引擎等区块链技术。终端客户只需在入金界面设置好充值金额,向USDT承兑商支付人民**//币,即可自动完成数字货币的购买、充值、交割、双向承兑等所有操作,五分钟之内把数字货币胜利支付和清算至平台商户后台,完成客户入金操作。 同样的原理,终端客户出金,提交出金申请确认后,系统将自动把相应数量的数字货币折算成人民币,由USDT承兑商结算至客户绑定银行卡。客户入金与出金均通过数字货币承兑商进行结算,与平台没有直接的资金往来。整个支付交易过程简化为:基于区块链技术+预先冻结锁定+人工审核(也可以...阅读全文

博文 2019-08-22 17:55:55 d13826553501

理解go func背后发生了什么

看一段代码 func main() { wg := sync.WaitGroup{} wg.Add(20) for i := 0; i < 10; i++ { go func() { fmt.Println("A: ", i) wg.Done() }() } for i := 0; i < 10; i++ { go func(i int) { fmt.Println("B: ", i) wg.Done() }(i) } wg.Wait() } 输出结果: A: 4 A: 10 A: 10 A: 10 B: 2 A: 10 A: 10 A: 10 B: 9 B: 3 B: 4 B: 5 B: 6 A: 10 B: 0 B: 1 A: 10 A: 10 B: 8 B: 7 结论: A与B所在的协...阅读全文

博文 2019-07-01 22:02:42 无上法门

源中瑞区块链C2C承兑支付系统搭建

源中瑞区块链C2C承兑支付系统搭建 区块链支付系统有用户和商户两种版本。 用户:是对为数币资产有一定了解的普通消费者使用,除了管理数字资产外,通过对接合作的线上或者线下商户,直接可以用钱包进行支付。 商户:商家版主要是为加盟运营平台的商户提供结算管理,商户可以是线上商城或者线下实体店。 源中瑞科技拥有区块链技术核心研发工程师团队,区块链项目技术顾问微ruiec1688,区块链技术领域技术专家以及参与多年金融交易系统的研发工程师。在保障区块链系统的安全和稳定技术方面有大量经验。 区块链承兑支付如何解决行业痛点? 1.“币走通道,钱走线下”新模式,平台、商户不直接接触法币 2.以承兑商来做收款方,可实现资金分流处理解决入金问题? 3.承兑商采用账户轮询,可实现即时到账,T+0结算 4.数字资产作...阅读全文

2019年最火热的Golang项目

整理目的 记录用的人较多或者出镜率比较高的Golang项目。 如果我漏了你觉得重要的项目,麻烦帮我指出,我尽快补上,谢谢! 下面列表中的每一个项目都配上了Star增长趋势的图片,可以看出该项目的热度。 特别是与区块链相关的两个项目fabric和go-ethereum,能够明显看出区块链行业的起伏。 整理过程中收获: 1、了解到docker项目已经改名为moby,当前仓库为:https://github.com/moby/moby。 2、了解到时间序列数据库,库中每一个数据都有时间属性。 项目列表 Gin 仓库地址:https://github.com/gin-gonic/gin Gin是用Go语言实现的一款web框架。 它的特点和Martini类似,但是API的性能更好,大概快40倍。如果你...阅读全文

博文 2019-06-07 23:04:16 大漠胡萝卜

腾讯云招聘云计算后台工程师(深圳、成都两地项目组直招)

1 ) 有丰富的多进程、多线程服务器开发经验(必需) 2 ) 熟悉 c/c++/go/java/python/ruby/scala 等至少二种编程语言(必需) 3 ) coding,debug 能力强(必须) 4 ) 有开源项目实践经验优先 5 ) 熟悉 docker/kubernetes/openstack 等框架优先 6 ) 熟悉 git,jenkins,travis,ELK,prometheus 等技术优先 7 ) 熟悉 aws/google cloud 等云计算厂商产品优先 8 ) 热爱学习,做事积极主动者优先 简历请发送到 qq:18413696...阅读全文

调试一个邪恶的 Go 运行时 bug

## 序言 我是 `Prometheus` 和 `Grafana` 的忠实粉丝。作为一个前 `Google` 公司 SRE, 我一直以来都知道良好的监控的重要性, `Prometheus` 和 `Grafana` 的组合是我多年的最爱。我用他们来监控我的个人服务器(黑盒和白盒都有), `Euskal Encounter` 内外部事件以及我服务的专业客户。`Prometheusa` 让编写定制的数据导出器变得非常简单, 而且你能够找到很多现成的满足你要求的导出器。比如说,我们使用 `sql_exporter` 来为 `Encounter` 会议的与会者数据做了一个监控面板。 ![Event dashboard for Euskal Encounter (fake staging data)](...阅读全文

博文 2018-02-01 20:54:58 polaris

golang执行linux命令

golang exec 执行系统命令 golang 2014-09-25 13:17:44 2779 0 0 exec.Command() 最简单的方法: cmd := exec.Command("/bin/sh/", "-c", "linux命令") 或复杂的, 各个参数都要单独写 cmd := exec.Command("ls", "-l", "-a") package main import ( "bytes" "fmt" "os/exec" ) func main() { in := bytes.NewBuffer(nil) cmd := exec.Command("sh") cmd.Stdin = in go func() { in.WriteString("echo hello ...阅读全文

博文 2016-08-31 17:00:02 zhangym

跨平台系统监控bosun

专业的跨平台开源系统监控项目,go语言编写,灵活的模板和表达式配合上各种collector可以监控任何应用或系统级的运行数据,比 zabbix更轻量级、更易入手和更适合定制。 ## 使用 ## bosun [-c=dev.conf] [-t] -c specifies the config file to use, defaults to dev.conf. -t parses the config file, validates it, and exits. ## 截图 ## ![截图](http://bosun.org/public/ss_host.png) 更多截图:http://bosun.org/screenshots.htm...阅读全文

开源项目 2014-11-15 12:26:58 mjibson

golang内存释放

一、前言 一般在golang运行完成初始化时,会创建专门的goroutine用于后台监控、定期任务,这其中也涉及到了强制垃圾回收、内存释放等任务。 // 主goroutine. func main() { // ... // m0: 系统主线程 // g0:主goroutine // m0、g0是比较特殊的 仅用于main goroutine的父goroutine g.m.g0.racectx = 0 if sys.PtrSize == 8 { // 64bits 系统 maxstacksize = 1000000000 } else { // 32bits系统 maxstacksize = 250000000 } // 新建M(物理线程) mainStarted = true if GOA...阅读全文

博文 2019-01-09 22:34:43 神奇的考拉

健康链(HDC):基础公链为经,医疗引擎为纬

image 摘要: 健康链(HDC), 作为致力于建立全球慢性病数据医疗系统平台的区块链生态网络,综合考虑行业生态发展现状与技术应用实践,以建设多层级多网络的区块链网络平台为基础,更侧重医疗大数据、健康数据库、医疗人工智能的深度应用与挖掘。 HDC区块链网络平台会以基础技术公链+医疗健康专属技术引擎两个维度发展与建设,从基础设施公链角度来看,未来社会发展生态一定是多个主流生态区块链网络,各个模块技术也会迭代进化,我们在目前的架构设计中,将区块链平台技术核心模块化,实现区块链核心模块的组件化运行。 区块链带来了疯狂与迷思,更带来敬畏与焦虑,有着数不完的技术名字、技术路线和专业术语,区块链的从业者、信仰者已经眼花缭乱,好像懂了一点,但过不了几天又会迷失在新的技术陷阱中,好像无从自拔…… 区块链技...阅读全文

博文 2018-08-26 19:34:49 宇宙一直在

GO编译环境搭建(基于SublimeText3)

1、我的机器是32位的win,可以去下面连接下载:http://download.csdn.net/detail/cumtwys/7695131 如果需要其他版本请到google官网下载(貌似被封了):http://code.google.com/p/go/downloads/list?q=OpSys-Windows+Type%3DInstaller 2、配置系统环境变量 新建变量名:GOBIN 变量值:C:\go\bin 新建变量名:GOARCH 变量值:386 新建变量名:GOOS 变量值:windows 新建变量名:GOROOT 变量值:C:\go 编辑PATH变量,在最后添加 ;%GOBIN% 3、配置Sublime Text 按住【Ctrl+shift+p】,在弹出框内输入【ins...阅读全文

博文 2015-02-22 01:00:01 cumtwys

使用 plot 绘制图表

作为一个程序员,很多时候虽然我喜欢盯着 console 输出的一堆数字看一些系统变化指标,但俗话说,一图胜千言,如果能自动的将很多数据生成图表展示,会更加清晰明了,而且能直接从变化的曲线上面得知更多的信息。这也就是我特别喜欢 Prometheus + Grafana 的原因。 但很多项目,尤其是临时的一些测试项目,我不可能为了看一个数据图表就搭建一套 Prometheus + Grafana 系统,那样效率太低,更多时候,我还是希望能有一个更简单的工具将一些数据展示出来。 幸运的是,我们可以通过 plot 非常方便的做到。plot 是一个用 Go 语言实现的绘图库,我们可以通过它绘制非常丰富的图表,并且可以输出成多种格式。另外,plot 还提供了非常方便的 interface,我们可以通过它...阅读全文

博文 2017-06-21 02:14:10 siddontang

Golang 图片上绘制文字

之前介绍过使用 FreeType-go 来绘制字(http://www.cnblogs.com/ghj1976/p/3445568.html), 现在相关的包被做了整合,主要是整合到了 github.com/golang/freetype 和 golang.org/x/image/font 这里了,所以就有了这篇博客。 例子代码在: https://github.com/golang/freetype/blob/master/example/freetype/main.go package main import ( "bufio" "flag" "fmt" "image" "image/color" "image/draw" "image/png" "io/ioutil" "log" "o...阅读全文

博文 2016-03-11 10:00:01 ghj1976

Golang自定义包总结

近日在学习Golang的自定义包的创建方式,产生了一些经验,因此以这篇文章作为记录。 我们通过import语句将自定义包加入到我们项目main函数中,import语句后面的参数应该是文件夹的名称,和自定义包的package的名称或者自定义包里面的文件名称没有关系,例如文件的结构目录如下: main.go的源码: package main import "fmt" import "foo" func main() { bar.Abc() fmt.Print("This is main\n") } foo/test.go的源码: package bar import "fmt" func Abc() { fmt.Print("This is test print\n") } 上面的代码是顺利通过...阅读全文

开放分布式追踪(OpenTracing)入门与 Jaeger 实现

http://click.aliyun.com/m/1000005975/应用架构开始从单体系统逐步转变为微服务,其中的业务逻辑随之而来就会变成微服务之间的调用与请求。资源角度来看,传统服务器这个物理单位也逐渐淡化,变成了看不见摸不到的虚拟资源模式。从以上两个变化可以看到这种弹性、标准化的架构背后,原先运维与诊断的需求也变得越来越复杂。为了应对这种变化趋势,诞生一系列面向 DevOps 的诊断与分析系统,包括集中式日志系统(Logging),集中式度量系统(Metrics)和分布式追踪系统(Tracing)。Logging,Metrics 和 TracingLogging,Metrics 和 Tracing 有各自专注的部分。Logging - 用于记录离散的事件。例如,应用程序的调试信息或...阅读全文

博文 2018-07-12 15:34:54 rewq123

产品级 Go 语言微服务框架Go Chassis

Go Chassis 是华为云 CSE 开源的一个用 Go 语言编写的微服务快速开发框架。借助 CSE Go Chassis 进行微服务开发可最大化地降低开发门槛,提升产品上线速度,同时可以获得微服务运行时高可靠性保证、运行时动态治理等一系列开箱即用的能力。 作为业界首款商用级别的Go语言微服务框架,Go Chassis 已具备支持企业级应用的核心特性: **可定制的通信协议**:除了现有支持的 HTTP/ Highway RPC 协议外,用户可自行扩展协议。支持 Go Chassis 开发的应用与使用 Java Chassis 开发的应用互相通信,企业在进行微服务架构选择有更大的自由。 **使微服务更加健壮**:完善的服务治理(负载均衡、限流、熔断、降级等等),保障 Go 微...阅读全文

Telegram中文群组

Telegram与币用有一定的内在联系的且数据是互通,为了方便大家交流可以尝试下载Telegram软件,那么问题来了,怎么下载呢?不要着急,大V今天就把下载的流程分享给大家。 Telegram 是免费、安全、无广告的开源跨平台通讯软件。 除了网页版,移动版覆盖 Android / iOS / WindowsMobile,桌面版覆盖 Windows / OsX / Linux。 Telegram 官网:https://telegram.org/ 官网上很全,可以按照自己使用的系统安装相应的。 ![飞机.png](https://static.studygolang.com/200401/12534b496e653cda2ea90a814157c10e.png) 智能手机端安装结束后,是一个纸飞...阅读全文

博文 2020-04-01 16:02:05 ttl147369

[笔记]Go语言写文件几种方式性能对比

Go语言中写文件有多种方式,这里进行如下几种方式的速度对比: 打开文件,写入内容,关闭文件。如此重复多次 打开文件,写入内容,defer 关闭文件。如此重复多次 打开文件,重复多次写入内容,defer 关闭文件 在VMWare下的Ubuntu 14.04下运行的结果表明: 方式1速度最慢,但是慢的很稳定 方式2比方式1略快,但是重复次数多了后会报错,应该是defer被压栈太多导致系统撑不了太多打开的文件 方式3速度约是前两者的2倍,因为减少了很多打开关闭文件的操作 测试代码如下: package main import ( "fmt" "os" "time" ) func benchmarkFileWrite(filename string, n int, index int) (d tim...阅读全文

博文 2015-03-08 03:00:01 journeyonmyway

北京招聘Golang研发工程师

工作地点: 北京-回龙观-复式精装住宅 工作装备: MacBook Pro Retina 三星大宽屏显示器 人体工程学座椅 公司简介: 天津泛亚电子商务技术服务有限公司于2014年1月由泛亚有色金属交易所原有股东投资设立,注册资本1亿元人民币,是泛亚有色金属交易所实现集团化发展的重要战略举措。该公司将以交易系统研发、风险控制等核心技术,以控股或参股的形式参与全国各地交易市场及交易中心的建设,预计3-5年内将形成天津为核心,涵盖有色金属、煤炭、进口矿产品、塑料等大宗商品业务板块。 岗位要求: - 计算机相关专业本科及以上学历, 具有2年及以上开发工作经验; - 熟悉Linux工作环境,精通Golang/Erlang/C/C++至少一种语言; ...阅读全文

[深圳][大疆创新][15K-40K]招聘高级/中级Golang研发工程师

## 高级Golang研发工程师 ### 岗位职责: 1. 参与公司微服务架构的整体设计和开发,进行相关技术调研、选型和实践; 2. 负责编制、修改项目相关的技术文档和规范; 3. 负责新人指导和code review,技术难题研究,提升团队技术水平; 4. 参与公司开源项目的设计与开发,提高公司在业界的影响力。 ### 任职要求: 1. 熟练掌握Golang,4年以上工作经验,2年以上Golang开发经验,有完整项目经验,同时熟练掌握Java/Ruby/Python/C#等任意一门语言者优先; 2. 熟练掌握Golang相关技术,熟悉Golang协程,熟悉channel和锁,对高并发、高可用架构系统有正确、深刻的理解,有分布式服务设计或开发经验者优先; 3. 熟悉M...阅读全文

[北京][东四北新桥]好贷网云金融事业群寻 Golang 中高级工程师

我们是当下最红火的行业:网络小贷。 我们的 app https://itunes.apple.com/cn/app/id1168872199?mt=8 由于业务的飞升,我们需要几名 Golang 中高级工程师一起共创辉煌。 云金融事业部 Golang 中高级工程师 岗位职责:负责网络小贷相关后台风控,催收,交易系统对接和开发 基本要求:2 年以上 WEB 实战经验 半年以上 Golang 使用经验。 薪资访问:13k-30k 工作地点:北京东四北大街科林文化产业园 这里,你已经有 2 个 Golang 工程师伙伴了,你不会孤独的。 欢迎各位鼎力加盟. 联系:luojianguo#haodai.net 注意邮件标题为:xxx 应聘...阅读全文

饿了么 Influxdb 实践之路

前言 Influxdb是一个基于golang编写,没有额外依赖的开源时序数据库,用于记录metrics、events,进行数据分析。这篇文章谈论的influxdb版本在1.2.0以上。这篇文章只谈论influxdb在监控中的数据存储应用,不会谈论influxdb提供的整套监控方案。本文主要谈论五个方面:时序数据库选型、influxdb基本概念、存储引擎、实践、数据聚合。 选型 Influxdb vs Prometheus influxdb集成已有的概念,比如查询语法类似sql,引擎从LSM优化而来,学习成本相对低。 influxdb支持的类型有float,integers,strings,booleans,prometheus目前只支持float。 influxdb的时间精度是纳秒,prom...阅读全文

博文 2017-06-24 09:49:24 刘平

强强联手!数据宝与国家发改委直属机关国家信息中心的全资公司中国国信签署战略合作协议

祝贺中国国信信息总公司与数据宝今日签署战略合作协议。中国国信是国家发改委直属机关国家信息中心的全资公司、正在筹建的北京国际大数据交易所的大股东,数据宝是2017年度大数据流通交易排名最高的公司,双方强强联手,接下来将在政府大数据流通与交易领域展开深度合作。 2018年1月11日,数据宝与中国国信信息总公司在北京签署战略合作协议,双方就共同利用双方优势资源,最大发挥各自优势,共同发展大数据产业,未来在大数据产品开发、市场推广、品牌营销、渠道建设等方面进行深入合作,形成紧密的战略合作伙伴关系。 中国国信信息总公司(简称“中国国信”)于1992年经国务院批准设立,曾隶属于原国家计划委会,2002年成为国家信息中心的全资企业。国家信息中心是国家发展和改革委员会直属的副部级单位。 ...阅读全文

Prometheus远程存储

除了其本地时间序列数据库之外,还可以将Prometheus配置为读取和写入远程存储。这旨在支持监视数据的长期存储。 远程读 配置后,Prometheus存储查询(例如,通过HTTP API)将发送到本地和远程存储,然后合并结果。 请注意,为了在面对远程存储问题时保持可靠性,警报和记录规则评估仅使用本​​地TSDB。 配置 您可以在Prometheus配置文件的remote_read部分中配置远程存储读取路径。 最简单的是,您只需为远程存储指定读取的端点URL,再加上身份验证方法。您可以使用HTTP基本认证或承载令牌认证。 您可能需要使用read_recent标志:设置为true时,将从远程存储和本地存储中回答所有查询。如果为false(默认值),则可以从本地存储完全回答的所有查询都不会发送到...阅读全文

博文 2019-12-19 17:32:42 iyacontrol

Golang 使用 Prometheus 监控 Gin 服务性能

???? ginpromPrometheus metrics exporter for Gin.Inspired by Depado/ginprom.???? Installation$ go get -u github.com/chenjiandongx/ginprom???? UsageIt's easy to get started with ginprom, only a few lines of code needed.import ( "github.com/chenjiandongx/ginprom" "github.com/gin-gonic/gin" "github.com/prometheus/client_golang/prometheus/promhttp" ) fu...阅读全文

博文 2019-08-20 10:31:25 chenjiandongx

Prometheus实战--存储篇

前言 Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排。随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster+influxdb的监控方案,只适合一些规模比较小的k8s集群。而prometheus整个社区非常活跃,除了官方社区提供了一系列高质量的exporter,例如node_exporter等。Telegraf(集中采集metrics) + prometheus的方案,也是一种减少部署和管理各种exporter工作量的很好的方案。今天主要讲讲我司在使用prometheus过程中,存储方面的一些实战经验。 Prometheus 储存瓶颈 通过prometheus的架构图可以看出,prometheus提供了本地存储...阅读全文

博文 2018-07-20 18:34:44 iyacontrol

列出和诊断系统上运行的Go进程的工具gops

gops 是列出和诊断当前在您的系统上运行的 Go 进程的命令。 对于启动诊断代理的进程,gops 可以报告其他信息,例如当前堆栈跟踪,Go 版本,内存统计信息等。 为了启动诊断代理,请参阅[hello示例](https://github.com/google/gops/blob/master/examples/hello/main.go)...阅读全文

2020年带你飞

2020 年了,你还在立 flag 吗? 我发现人们从来就不缺立 flag 的精神,只是缺乏坚持行动的毅力,2020年别光立 flag 了,行动起来,你的的这周下周下下周都被 51Reboot 承包了!所有分享免费参与(录屏回放没有,错过就是错过了)。 51Reboot 近期分享安排 2020.1.07——Go 内存详解 2020.1.09——Go-监控系统设计与源码解析 2020.1.16——大佬教你如何从 ES 初学者到 ES 专家 《Go 内存详解》 1、内存分区 image 1.1 代码区(text) 1.2 全局初始化数据区/静态数据区(data) 1.3 未初始化数据区(bss) 1.4 栈区(stack) 1.5 堆区(heap) image 2、Go Runtime 内存分配...阅读全文

博文 2020-01-07 11:32:52 51reboot

世界上最简单的监控服务 pingd

pingd 是世界上最简单的监控服务,使用 golang 编写。软件支持 IPv6,但是服务器不支持。 pingd 允许同时 ping 上千个 IPs,在此期间还可以管理监控的主机。 用户提供主机名或者 IP,还有用户邮箱地址,就可以使用 3 个生成 URLs 来开启,停止或者删除你的追踪。每当你的服务器停机或者后台在线都会发送通知,还包含控制 URLs。

~$# start monitoring your server with a single curl command.
~$curl ping.gg/me@example.org/104.28.13.51
[ ok...阅读全文

Golang-too_many_open_files-解决方法

这是系统资源限制,通常单进程不能超过 1024,我使用cgo来设置,代码如下: package main /* #include #include #include int rlimit_init() { printf("setting rlimit\n"); struct rlimit limit; if (getrlimit(RLIMIT_NOFILE, &limit) == -1) { printf("getrlimit error\n"); return 1; } limit.rlim_cur = limit.rlim_max = 50000; if (setrlimit(RLIMIT_NOFILE, &...阅读全文

博文 2015-03-03 21:46:55 nulijiabei

Prometheus 系统监控方案 一

最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错。而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下。 Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。 Prometheus 的优点 非常少的外部依赖,安装使用超简单 已经有非常多的系统集...阅读全文

Prometheus+Grafana实现监控系统

任务背景某某某公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行业务监控,责成运维部门来实施这个项目。任务要求1)部署监控服务器,实现7x24实时监控2)针对公司的业务及研发部门设计监控系统,对监控项和触发器拿出合理意见3)做好问题预警机制,对可能出现的问题要及时告警并形成严格的处理机制4)做好监控告警系统,要求可以实现告警分级 一级报警 电话通知 二级报警 微信通知三级报警 邮件通知5)处理好公司服务器异地集中监控问题,K8S内部使用的监控系统就是普罗米修斯任务分析为什么要监控?答: 实时收集数据,通过报警及时发现问题,及时处理。数据为优化也可以提供依据。监控四要素:监控对象 [主机状态 服务 资源 页面,url]用什么监控 [zabbix-server zabbix-ag...阅读全文

Golang 1.3 sync.Atomic源码解析

上一篇文章我们说到sync.Mutex的源码实现,核心就是使用到了CPU指令CAS,从并发性能上来说atomic的效率是要高于mutex的,毕竟mutex做了不少的其他步骤,而atomic的核心其实就是和处理器密切关系的,通过一两个指令就能完成的原子操作,我们接下来来看看atomic在golang中的一些细节。 通过目录: 64bit_arm.go asm_amd64p32.s asm_linux_arm.s atomic_test.go race.go asm_386.s asm_arm.s asm_netbsd_arm.s doc.go asm_amd64.s asm_freebsd_arm.s atomic_linux_arm_test.go export_linux_arm_test...阅读全文

博文 2014-10-19 09:03:49 毛, 剑

全自动装机工具 OSinstall

“CloudBoot”(OSinstall)云装机平台,是金融云初创公司杭州云霁科技推出的一款X86服务器全自动装机工具,遵循Apache协议,完全开源免费。 “CloudBoot”中文名为云启装机平台,简称云装机,寓意是”云端装机,云之开始”,有以下两层含义:     对已经使用云计算的公司,实现物理机的全自动安装,是构建云的第一步。     对没有使用云计算的公司,全自动构建物理机资源池,像创建虚拟机一样方便的安装物理机,是未来迈向云计算架构的第一步...阅读全文

开源项目 2016-05-08 16:00:00 idcos

Golang 编写 Windows 服务

package main import ( "fmt" "log" "github.com/kardianos/service" ) var serviceConfig = &service.Config{ Name: "serviceName", DisplayName: "service Display Name", Description: "service description", } func main() { // 构建服务对象 prog := &Program{} s, err := service.New(prog, serviceConfig) if err != nil { log.Fatal(err) } // 用于记录系统日志 logger, err := s.Lo...阅读全文

博文 2018-05-06 11:33:04 八风不动