golang 通过exec Command启动的进程如何关闭的解决办法 以及隐藏黑色窗口
摘要:golang 通过exec Command启动的进程如何关闭的解决办法在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见:https://godoc.org/contextexec.CommandContext方发实现了context,通过context可以对exec启动的进程结束。隐藏程序自身黑窗口的方法:Go build -ldfla...
阅读全文
nsq理解
摘要:核心概念在讨论NSQ如何在实践中使用前,先理解NSQ队列的架构原理是非常值得的。它的设计很简单,可以通过几个核心概念来理解。Topic ——一个topic就是程序发布消息的一个逻辑键,当程序第一次发布消息时就会创建topic。Channels ——channel组与消费者相关,是消费者之间的负载均衡,channel在某种意义上来说是一个“队列”。每当一个发布者发送一条消息到一个topic,消息会被...
阅读全文
Go缓存DNS
摘要:Go里面的DNSclient没有带任何的缓存,语言层面没有任何的缓存,但是我们可以通过下面这样的代码来这样当我们调用http.Client的时候就会采用这个缓存的ip了,里面用到的dnscache是这个包https://github.com/viki-org/dnscache
阅读全文
如何使用Docker部署一个Go Web应用程序
摘要:熟悉Docker如何提升你在构建、测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署。简介大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版和配置文件。而当一个项目中有很多文件的时候,由于很多文件没有同步就会导致错误的发生并且产生很多的问题。在本教程中,你将学习如何使用Docker部署一个Go web应用程序,并且认识到Docker将如何改进...
阅读全文
打包前端WebSite到Go程序
摘要:打包前端WebSite到Go程序Coolpy5发布在即,新版本要求服务端程序只是一个运行文件,经历了go的template无数坑后,最后还是放弃了,所以还是要把前端独立开发一个纯前端程序,但是go程序直接build的话并不支持把前端程序编译到最终生成的文件中,所以须要一种方法把前端程序打包进最终生成的运行文件中。所用到的包 github.com/GeertJohan/go.rice下载或编译后会得...
阅读全文
too many open files linux服务器 golang java
摘要:1. 现象服务的cpu跑满(golang实现), 并大量报too many open files错误.服务使用systemd来运行,部署在阿里ecs上. 2.分析从日志来看,cpu的上升主要为到达文件数限制引起的,但之前已经更改过系统的文件数及所有用户的文件数,按道理是不应该出现这个问题的,后来查阅资料发现,文件数可以从三个维度限制分别为操作系统限制,用户态限制,以及进程限制,对于这三个维度选取最...
阅读全文
fasthttp 文档手册
摘要:fasthttp 文档手册貌似文章有最大长度限制,完整全文地址:https://github.com/DavidCai1993/my-blog/issues/35常量const ( CompressNoCompression = flate.NoCompression CompressBestSpeed = flate.BestSpeed Com...
阅读全文
C语言和go语言之间的交互
摘要:一、go语言中使用C语言go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import “C” 即可在go代码中使用C函数代码示例:go代码:testC.go1234567891011121314151617181 package main 2 3 /* 4 #include 5 #include 6 void c_print(char *str) { 7 p...
阅读全文