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

golang url解析

package main import "fmt" import "net/url" import "strings" func main() { //我们将解析这个 URL 示例,它包含了一个 scheme,认证信息,主机名,端口,路径,查询参数和片段。 s := "postgres://user:pass@host.com:5432/path?k=v#f" //解析这个 URL 并确保解析没有出错。 u, err := url.Parse(s) if err != nil { panic(err) } //直接访问 scheme。 fmt.Println(u.Scheme) //User 包含了所有的认证信息,这里调用 Username和 Password 来获取独立值。 fmt.Pri...阅读全文

博文 2015-04-21 03:00:01 benlightning

golang对共享内存的操作

不同进程间的内存是互相独立的,没办法直接互相操作对方内的数据,而共享内存则是靠操作系统提供的内存映射机制,让不同进程的一块地址空间映射到同一个虚拟内存区域上,使不同的进程可以操作到一块共用的内存块。共享内存是效率最高的进程间通讯机制,因为数据不需要在内核和程序之间复制。 共享内存用到的是系统提供的mmap函数,它可以将一个文件映射到虚拟内存的一个区域中,程序使用指针引用这个区域,对这个内存区域的操作会被回写到文件上,其函数原型如下: void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); 参数fd为即将映射到进程空间的文件描述字,一般由open()返回,同时,fd可以指定为-1,此时须指定f...阅读全文

博文 2014-10-04 19:27:13 壬癸甲乙

url解析

Golang URL解析今天利用课余时间看了一下Go语言的URL解析,于是就实践了一下,为了大家一起学习交流,故贴出来和大家一起分享,如有什么错误,请各位大神批评指出,共同进步。本人邮箱:1975210542@qq.compackage main import ( "fmt" "net/url" "strings" ) func main() { Url := "https://root:123456@www.baidu.com:0000/login?name=xiaoming&name=xiaoqing&age=24&age1=23#fffffff" //Parse函数解析Url为一个URL结构体,Url可以是绝对地址,也可以是相对地址 // type URL struct { // Sc...阅读全文

博文 2017-06-16 09:55:43 131360144

docker - 从安装到部署一个web应用(go、java)

说明: 1.权限是root,不是则先提升权限 一:安装docker 1.https://docs.docker.com/engine/installation/binaries/ 下载docker最新版二进制tar.gz linux下: wget https://get.docker.com/builds/Darwin/x86_64/docker-1.11.0.tgz 2.丢到 $path中 mv docker /usr/local/sbin 3.启动 docker daemon & 二.在容器上运行tomcat docker官方镜像仓库由于有墙,所以下载的很慢。目前我用的是时速云的镜像。 第一步:拉取镜像到本地 docker pull index.tenxcloud.com/tenxclo...阅读全文

博文 2016-05-13 22:00:03 jinzhencs

golang 基于beego web框架写的 web页面自由配置nginx虚拟主机

nginxconf web页面自由配置nginx虚拟主机 该项目基于golang的 beego web框架 主要实现了一下功能 创建新的nginx代理配置文件 并自动调用 nginx reload 命令 暂时没有实现删除配置文件命令 应用场景 nginx需要实现代理访问多个主机,操作人员无需懂得nginx配置只需要在web页面点击下鼠标即可 多个 golang 应用程序在服务器后台运行在非80端口,nginx更具不同的域名代理访问不同的golang应用程序 改造后可以做什么? 增加设置多个nginx配置模板,可以实现负载均衡、自动配置虚拟主机等高级的nginx的功能 nginx配置模板为nginxconf/template/domainlocalconf.tpl 该项目使用帮助 由于我在wi...阅读全文

博文 2015-03-20 20:00:01 young-轻人

golang 获取命令行参数

os库获取命令行参数 package main import ( "fmt" "os" ) func main() { // 获取命令行参数 fmt.Println("命令行参数数量:",len(os.Args)) for k,v:= range os.Args{ fmt.Printf("args[%v]=[%v]\n",k,v) } } 打印 go build -o main main.go ./main 张三 20岁 研究生 北京 获取命令行参数个数: 5 args[0]=[./main] args[1]=[张三] xargs[2]=[20岁] args[3]=[研究生] args[4]=[北京] flag包获取命令行参数 package main import ( "flag" "fm...阅读全文

博文 2019-06-26 06:32:39 战神悟空

DevOps与微服务 ▎时速云Docker&Kubernetes技术沙龙第四期

![alt 文本]( https://dn-tenxcloud.qbox.me/baec1465c205a4f8573253f78ae997c8.jpg) 时速云是国内领先的容器云平台与解决方案提供商,自成立之日起,就根植于技术社区,致力于推动以Docker为代表的容器技术在国内的发展。迄今为止我们已在北京成功举办三期Docker&Kubernetes技术沙龙,得到了技术小伙伴的大力支持。 时速云诚邀您参加Devops与微服务|Docker&Kubernetes技术沙龙第四期(6月25日于北京),与现场的技术大咖们一起分享Docker技术的那些事儿。 ## 活动日程: **日期:**2016年6月25日(周六) **时间:**下午13:30-17:00 *...阅读全文

世界上最简单的监控服务 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...阅读全文

百度云主机的优势

在百度上搜索云主机,出现了大量的品牌名称,可谓百花齐放。但对不太懂服务器、建站的小白来说,要在茫茫的云主机海洋中选出一款适合自己的,实在是太困难了。在选择之前,大家不妨先做点功课,了解一下云主机的相关知识。 首先,什么是云主机呢?云主机又叫云虚拟主机,是在一个云服务器上划分出来的100M、200M等不同型号的小型空间,每个用户都有一个独立的IP,用来安放你做好的网站供用户访问,云主机比普通虚拟主机更稳定。 度娘上有包括阿里云、腾讯云、360云、百度云在内的数十种xx云主机,如果是完全没有经验的人进行选购,估计真的要选择困难了,因为这几个品牌,除开“云”字,看上去都挺靠谱的,质量自然不用担心了,效果怎么样呢? 众所周知,百度是目前中国使用率最高的搜索引擎,我们所做的一切关于...阅读全文

7月30日、31日|时速云Docker&Kubernetes技术沙龙【上海站&杭州站】

![alt 文本]( https://dn-tenxcloud.qbox.me/877b7557ab6aeb9d07c04b0ee5d36e94.jpg) 时速云是国内领先的容器云平台与解决方案提供商,自成立之日起,就根植于技术社区,致力于推动以Docker为代表的容器技术在国内的发展。迄今为止我们已在北京成功举办四期Docker&Kubernetes技术沙龙,得到了技术小伙伴的大力支持。 时速云诚邀您参加Docker&Kubernetes技术沙龙第五期(7月30日于上海),第六期(7月31日于杭州),与现场的技术大咖们一起分享Docker技术的那些事儿。 ## 活动安排: ### 1.上海站 **日期:** 2016年7月30日(周六) **时间:*...阅读全文

DevOps与微服务 ▎时速云Docker & Kubernetes技术沙龙第四期干货分享

继前三期时速云Docker&Kubernetes技术沙龙顺利举办以来,受到了越来越多创业者、开发者,以及大型云计算厂商的青睐,6月25日,时速云作为主办与各协办单位在海智创投大厦DEMO SPACE迎来了第四期技术之约,以下是现场速记内容整理。 ![沙龙总结11](http://blog.tenxcloud.com/wp-content/uploads/2016/06/%E6%B2%99%E9%BE%99%E6%80%BB%E7%BB%9311.jpg) [PPT链接][1] [点击上方链接查看本次沙龙分享完整PPT内容] ## 1.容器隔离技术分析——谢朋 **分享嘉宾:** 谢朋,时速云研发副总裁,曾就职于赛门铁克近十年,负责领导研发Symantec安全产...阅读全文

来,控制一下 Goroutine 的并发数量

文地址:来,控制一下 Goroutine 的并发数量 问题 func main() { userCount := math.MaxInt64 for i := 0; i < userCount; i++ { go func(i int) { // 做一些各种各样的业务逻辑处理 fmt.Printf("go func: %d\n", i) time.Sleep(time.Second) }(i) } } 在这里,假设 userCount 是一个外部传入的参数(不可预测,有可能值非常大),有人会全部丢进去循环。想着全部都并发 goroutine 去同时做某一件事。觉得这样子会效率会更高,对不对! 那么,你觉得这里有没有什么问题? 噩梦般的开始 当然,在特定场景下,问题可大了。因为在本文被丢进去同...阅读全文

Go语言是如何处理栈的

Go语言是如何处理栈的 十一 05 bigwhite技术志 cloudflare, Go, Golang, Google, goroutine, heap, Memory, OS, runtime, Stack, Thread, vitualmemory, 垃圾回收, 栈, 线程, 虚拟内存, 运行时 No Comments Go 1.4Beta1刚刚发布,在Go 1.4Beta1中,Go语言的stack处理方式由之前的"segmented stacks"改为了"continuous stacks"。关于Go语言对stack的处理机制、发展历史、存在问题等,CloudFlare的一篇官方blog进行了系统的阐述,这里的内容就是 翻译自CloudFlare的那篇blog:《How Stacks...阅读全文

博文 2014-11-06 10:53:30 bigwhite

为 Golang 项目创建虚拟隔离环境

goenv:为 Golang 项目创建隔离的虚拟环境,包括创建独立目录,设置 GOPATH 环境变量 **使用**: 1. 下载 goenv.sh 文件。 2. 在启动文件中添加类似以下内容 (注意调整路径)。 ``` export GOHOME=$HOME/myprojects source goenv.sh ``` 3. 可使用 source 命令使其立即生效。 4. 输入 goe 显示帮助信息。 项目由《Go学习笔记》大神 雨痕 出品,地址:https://github.com/qyuhen/goen...阅读全文

Docker实战 - 将golang工程部署到docker

目标功能 使用go语言实现基本http服务 访问 localhost:8080 时能够返回 “hellodocker” 将工程部署到docker,并在后台启动 重点难点 dockerfile结构 docker网络结构 操作步骤 Go工程 1 在本机新建go工程,目录名为hellodocker package main import ( "fmt" "net/http" ) func indexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "hello docker") } func main() { http.HandleFunc("/", indexHandler) http.ListenAndServe(...阅读全文

博文 2017-10-31 14:04:41 _叶左左

升级到Catalina后,golang执行问题

升级到Catalina 10.15后,golang编译完成后,执行二进制文件报错: dyld: malformed mach-o image: segment __DWARF has vmsize < filesize 下边我们简单的说一下 Mach-O 文件。 Mach-O 我们知道,进程是可执行文件在内存中加载得到的结果,而 Mach-O 就是一种 macOS 平台的可执行文件格式。 Mach-O 文件分为三个区域 Header、Load commands、Data。其中 Load commands 区的指令指导如何设置并加载二进制数据。 LC_SEGMENT 对应的数据结构:segment_command 定义了这个文件中的一个 segment,在 Mach-O 文件被加载到时,这个 ...阅读全文

博文 2019-10-10 16:33:06 aside section ._1OhGeD

Go 语言的内存管理

这篇博客是我在维尔纽斯的 [Go Meetup](https://www.meetup.com/Vilnius-Golang/events/249897910/) 演讲的总结。如果你在维尔纽斯并且喜欢 Go 语言,欢迎加入我们并考虑作演讲 在这篇博文中我们将要探索 Go 语言的内存管理,首先让我们来思考以下的这个小程序: ```go func main() { http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) }) http.ListenAndServe(":8080", nil) }...阅读全文

博文 2018-09-20 22:25:03 polaris

百度云虚拟主机做网站有哪些优势?

众所周知百度是国内最大的搜索引擎、最大的中文网站。百度推出的云服务器、云虚拟主机、域名服务等质量可靠,对于客户的网站来说,能够保证访问的速度、稳定和安全。 百度云虚拟主机是最新的的容器技术、热迁移技术和百度生态能力提供的新一代网站主机服务,能够保证高性能、高可靠性、高安全性和高易用性等,即使是零基础的站长也可以轻松搞定网站的部署、发布、运维、推广,这无论是对企业还是个人网站来说都有非常大的作用。 ![虚拟主机.jpg](https://static.studygolang.com/180420/59974fa5a2ba4eec783545b7a6caebd8.jpg) 那么百度云虚拟主机的优势又有哪些? 高稳定 基于百度云的核心技术,故障服务方面可秒级热迁移...阅读全文

Docker系列之一:入门介绍

Docker简介: Docker是DotCloud开源的、可以将任何应用包装在Linux container中运行的工具。2013年3月发布首个版本,当前最新版本为1.3。Docker基于Go语言开发,代码托管在Github上,目前超过10000次commit。基于Docker的沙箱环境可以实现轻型隔离,多个容器间不会相互影响;Docker可以自动化打包和部署任何应用,方便地创建一个轻量级私有PaaS云,也可以用于搭建开发测试环境以及部署可扩展的web应用等。 Docker vs VM 从下图可以看出,VM是一个运行在宿主机之上的完整的操作系统,VM运行自身操作系统会占用较多的CPU、内存、硬盘资源。Docker不同于VM,只包含应用程序以及依赖库,基于libcontainer运行...阅读全文

理解Docker容器端口映射

在”理解Docker单机容器网络“一文中,还有一个Docker容器网络的功能尚未提及,那就是Docker容器的端口映射。即将容器的服务端口P’ 绑定到宿主机的端口P上,最终达到一种效果:外部程序通过宿主机的P端口访问,就像直接访问Docker容器网络内部容器提供的服务一样。 Docker针对端口映射前后有两种方案,一种是1.7版本之前docker-proxy+iptables DNAT的方式;另一种则是1.7版本(及之后)提供的完全由iptables DNAT实现的端口映射。不过在目前docker 1.9.1中,前一种方式依旧是默认方式。但是从Docker 1.7版本起,Docker提供了一个配置项:–userland-proxy,以让Docker用户决定是否启用docker-proxy,默...阅读全文

博文 2016-02-21 16:13:42 bigwhite

关于Go tools的比较有用的flags

关于Go tools的比较有用的flags 你刚接触Go tools吗?或者你想扩展下你的知识面?这篇文章是关于Go tools的flags,这些flags每个人都应该知道。 免责声明:这篇文件可能有一些偏见。这是我个人常用的flags集合。我周边的人很难找到这些falgs的参考文档。如果你有更好的主意,可以在Twitter上私信我。 $ go build -x -x列出了go build触发的所有命令。 如果你对Go的工具链、使用跨平台编译器比较好奇,或者对传入外部编译器的flags不清楚,或者怀疑链接器有bug,那么使用-x来查看所有的触发。 $ go build -x WORK=/var/folders/00/1b8h8000h01000cxqpysvccm005d21/T/go-bu...阅读全文

博文 2017-02-10 12:13:40 itfanr

理解Docker跨多主机容器网络

在Docker 1.9 出世前,跨多主机的容器通信方案大致有如下三种: 1、端口映射 将宿主机A的端口P映射到容器C的网络空间监听的端口P’上,仅提供四层及以上应用和服务使用。这样其他主机上的容器通过访问宿主机A的端口P实 现与容器C的通信。显然这个方案的应用场景很有局限。 2、将物理网卡桥接到虚拟网桥,使得容器与宿主机配置在同一网段下 在各个宿主机上都建立一个新虚拟网桥设备br0,将各自物理网卡eth0桥接br0上,eth0的IP地址赋给br0;同时修改Docker daemon的DOCKER_OPTS,设置-b=br0(替代docker0),并限制Container IP地址的分配范围为同物理段地址(–fixed-cidr)。重启各个主机的Docker Daemon后,处于与宿主机在同一...阅读全文

博文 2016-02-21 16:13:53 bigwhite

百度云虚拟主机与传统虚拟主机有什么区别?

在互联网飞速发展的时代,在选择虚拟主机时,市面上各类主机都有,在选择上大家都眼花缭乱,今天想通过一些对比跟大家分享最新推出的百度云虚拟主机与传统虚拟主机的区别。 (https://static.studygolang.com/180420/4361a3cd37433dc372b9ee4609202e7d.jpg) 一、传统虚拟主机与百度云虚拟主机是什么 虚拟主机,被称之为“网站空间”,也就是大家口中所说的空间,它利用技术把一台服务器分成多个具有独立的域名和完整的Intenet服务器功能、并且共享服务器的带宽和IP的“虚拟”的主机。 百度云虚拟主机,拥有容器技术、具有领先特性的新一代云主机,能提供新一代网站主机服务,率先支持SSL安全加密证书与Nginx搞笑WED框...阅读全文

golang的GAE环境下的appengine包

package appengine import "code.google.com/p/appengine-go/appengine" appengine包提供Google App Engine的基本函数服务。 更多细节参见:https://developers.google.com/appengine/docs/go/ Index type MultiError func (m MultiError) Error() string func IsCapabilityDisabled(err error) bool func IsTimeoutError(err error) bool func IsOverQuota(err error) bool type GeoPoint func (...阅读全文

博文 2014-10-04 19:26:39 刘地

golang 远程传输文件

概述之前有一篇介绍如何使用 golang 通过SSH协议来执行远程命令:golang 执行远程命令 同样,通过SSH协议也可以使用 golang 来远程传输文件。除了 SSH 的库,为了传输文件,还需要用到 github.com/pkg/sftp 这个库。实现方式废话不多说,直接看代码。 由于是基于 SSH 协议实现的远程文件传输,所以先创建 SSH 的连接,再创建传输文件的 sftp 客户端。func connect(user, password, host string, port int) (*sftp.Client, error) { var ( auth []ssh.AuthMethod addr string clientConfig *ssh.ClientConfig sshC...阅读全文

博文 2016-10-20 17:00:02 u012798391

企业级容器安全最佳实践

由于容器虚拟化技术可以充分利用硬件资源,对于开发团队就像梦想照进了现实。尽管容器化没有推翻虚拟机在企业应用开发和部署上的地位,但是Docker等工具在实现开发、测试和部署大规模现代软件的速度和敏捷性方面大展身手。Docker容器具有诸多优点:无需复杂的hypervisor、可移植性、资源隔离性、轻量级、开放标准、完美适应微服务架构。众多的应用通过容器隔离起来,相互独立地运行在同一台宿主机上,哪家公司不喜欢呢? 容器的速度和易用性带来了无限的可能,开发团队很容易被吸引。迄今为止,Docker容器的下载量已经超过4个亿。但是,对于容器化的担忧真真切切地存在。如果你被一时的热情冲昏了头脑,反而会适得其反,无法利用容器的潜力,阻碍开发的快速迭代和创新。如果你的公司决定要安全地拥抱docker,...阅读全文

百度云虚拟主机有助于提升网站收录和排名?

站长朋友都知道,要想网站在搜索引擎中能有好排名,需要依靠搜索引擎的搜索规则对网站进行优化。网站优化是一个系统综合的过程,从前期的建站规划到后期的网站运营,SEO无处不在。 为了提升网站排名,很多企业会选择用虚拟主机来托管网站,而在选择虚拟主机上,大家都会针对各种虚拟主机进行对比,而百度作为国内最大的搜索引擎、最大的中文网站,它推出的百度云虚拟主机对于网站排名有什么影响?是否有助于提升网站收录和排名? (https://static.studygolang.com/180423/5573a455ca7ad1d725e486a864bbca89.png)![5555.png] SEO友好度 网站优化获得好排名是基于搜索引擎自然排名机制,而搜索引擎的排名机制又以用户...阅读全文

golang 远程传输文件

概述 之前有一篇介绍如何使用 golang 通过SSH协议来执行远程命令:golang 执行远程命令 同样,通过SSH协议也可以使用 golang 来远程传输文件。 除了 SSH 的库,为了传输文件,还需要用到 github.com/pkg/sftp 这个库。 实现方式 废话不多说,直接看代码。 由于是基于 SSH 协议实现的远程文件传输,所以先创建 SSH 的连接,再创建传输文件的 sftp 客户端。 func connect(user, password, host string, port int) (*sftp.Client, error) { var ( auth []ssh.AuthMethod addr string clientConfig *ssh.ClientConfig...阅读全文

博文 2016-08-07 17:00:00 wang_yb

Docker搭建自用golang开发环境

记录使用docker搭建自用开发环境的过程.最终效果:宿主机中仅仅安装git,其他所有环境,如golang|php等开发环境都安装在docker容器中 目前问题:数据库|日志等数据的持久化保存 自我规范: 1.docker镜像的创建统一使用Dockerfile创建[便于清晰掌握镜像的构成] 目录规划: 1.$HOME/code/docker:目录存放所有dockerfil...阅读全文

博文 2018-06-02 17:30:00 yin5th

Golang学习笔记之HTTPS

一:HTTPS介绍 HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。 HTTP和HTTPS的区别 • HTTPS是加密传输协议,HTTP是名文传输协议 • HTTPS需要用到SSL证书,而HTTP不用 • HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO • HTTPS标准端口443,HTTP标准端口80 • HTTPS基于传输层,HTTP基于应用层 • HTTPS在浏览器显示绿色安全锁,HTTP没有显示 二、HTTPS证书 正式发布的时候,...阅读全文

博文 2018-12-22 18:34:43 学生黄哲

记录一个在线的虚拟机开发环境(go、ruby、python、java...)

https://www.nitrous.io/ 需要注册,开发环境是一个类linux虚拟机,虽然创建虚拟机时需要选择语言,但我测试了,go语言下的虚拟机,其实同时也支持了c/c++、java、python、ruby 可以和 http://ideone.com/ 对比一下,支持语言没有那么多,但是开发限制少了很多,完全可以上传自己的IDE和调试工具。 事实上,这个环境可以基本支持一个博客或者网站了;当然,和购买的空间不一样,这个不能老是开着...阅读全文

博文 2014-10-06 00:36:32 刘地

存储组织协调引擎 REX-Ray

REX-Ray 是一个 EMC {code} 团队领导的开源项目,为 Docker、Mesos 及其他容器运行环境提供持续的存储访问。其设计旨在囊括通用存储、虚拟化和云平台,提供高级的存储功能。 当前支持的系统: * Ubuntu * Debian * RedHat * CentOS * CoreOS * OSX 运行时 CLI:

$ export REXRAY_STORAGEDRIVERS=ec2
$ export AWS_ACCESSKEY=access_key
$ export AWS_SECRETKEY=secret_key
$ rexray vol...阅读全文

如何在长城后面go get一些库

国内的Go开发已然蔚然成风,但是Go开发者比较痛苦的是,golang.org网站以及其它的一些相关的开发网站被GFW屏蔽了。下载Go开发包海容易些,国内有一些镜像站点,或者通过一些代理也能访问,但是下载一些开发库的时候,这些库可能直接或者间接引用了 `golang.org/x/...`等依赖库, 通过go get命令确没有办法下载下来。 我原先在Comcast,这是一家外企,在国内有vpn可以直接访问这些网站,所以以前没有觉得go get是一个问题,看到大家被GFW弄的焦头烂额的时候也没觉得是一件大事情,现在换到国内的互联网企业,切切实实的感觉到GFW的威力。首先是google.com, golang.org等网站被屏蔽掉了,其次 go get 一些库如golangorg/x/net失败。 ...阅读全文

博文 2017-02-08 12:53:46 smallnest

ActivedRouter--golang实现的反向代理、监控

基于golang 实现了简单的http反向代理服务器,监控服务器,客户端程序 ,和一个基于web的监控页面。 通过ActivedRouter 可实现自动摘除宕机服务器,的真机负载。也可以实现IP轮训负载。项目地址: github简单介绍一、通过ActivedRouter可以实现什么功能?1、可以集群服务器的监控,通过提供的web Dashboard可以时刻监控每一台服务器的负载、内存、网络、 磁盘等信息。 2、反向代理服务器功能,例如Nginx的功能,可以针对不同的域名对不同的业务服务器集群进行反向代理。 3、Server & Client 模式组合下,可以用作服务器监控使用,并且可以设置监控报警,Server端可以选择性 开启监控Dashboard,用于直观的web界面监控。 4、服务器监...阅读全文

博文 2016-07-11 17:00:02 yue7603835

Docker源码分析(八):Docker Container网络(下)

1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge、host、container、none,Docker开发者可以根据自己的需求来确定最适合自己应用场景的网络模式。 从Docker Container网络创建流程图中可以看到,创建流程第一个涉及的Docker模块即为Docker Client。当然,这也十分好理解,毕竟Docker Container网络环境的创建需要由用户发起,用户根据自身对容器的需求,选择网络模式,并将其通过Docker Client传递给Docker Daemon。本节,即从Docker Client源码的角度,分析如何配置Docker Container的网络模式,以及Docker Client内部如何处理这些网络模式...阅读全文

博文 2015-03-29 20:01:09 孙宏亮

Docker 运行一个 golang程序

搭建 mysql 环境 mysql.app docker run --net=host -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=letchat -d hub.c.163.com/library/mysql:latest 1. 通过容器编译并运行当前目录下的 golang程序(依赖需要先下载到当前目录 vendor中) gobuild.app docker run --net=bridge --rm -v $PWD:/go/src/app -w /go/src/app hub.c.163.com/library/golang:latest go build -v 2. 使用 Docker构建镜像,在此镜像上运行一个容器,使用该容器运行 gol...阅读全文

博文 2017-07-08 10:04:00 中柠檬

go语言 nsq源码解读四 nsqlookupd源码options.go、context.go和wait_group_wrapper.go

上一篇文章:go语言nsq源码解读三 nsqlookupd源码nsqlookupd.go主要读了nsqlookupd.go这个文件,本节会解读nsqlookupd.go文件中涉及到的其中三个文件:options.go、context.go和wait_group_wrapper.go。 options.go 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package nsqlookupd import ( "log" "os" "time" ) type nsqlookupdOptions struct { Verbose bool `flag:...阅读全文

博文 2015-06-13 12:14:01 baiyuxiong

【干货PPT分享】时速云Docker&Kubernetes技术沙龙【上海站&杭州站】

7月30日~7月31日,时速云走进上海和杭州,继前四期时速云Docker&Kubernetes技术沙龙顺利举办以来,受到了越来越多创业者、开发者,以及大型云计算厂商的青睐,报名的小伙伴热情高涨,炎炎夏日不畏酷暑准时来参加沙龙活动。沙龙的干货演讲也受到了大家的一致好评。以下是现场速记内容整理。([PPT链接](https://yunpan.cn/c6STMz4yBAskB "PPT链接"))提取码:943d ## 上海站 **1.《生产级Kubernetes发展历程及最新特性》——时速云 王磊** 本次王磊的分享主要和大家一起回顾Kubernetes的主要发展历程,包括主要特性的引入、相关工具的出现,以及Kubernetes最新功能的介绍,也会在其中分享我们的一些实践经验,帮...阅读全文

kubernets的网络插件:flannel

January 18, 2017 in Tech docker的网络方案 k8s的flannel模式 flannel模式原理 flannel模式的优缺点 部署及验证 kubernets的网络,从设计上来讲是“扁平、直接”的,即要求: 所有容器可以不使用NAT技术就可以与其他容器通信 所有节点(物理机 虚拟机 容器)都可以不使用NAT同容器通信 容器看到的IP地址和别的机器看到的IP是一致的 docker的网络方案 docker的网络支持如下四种: none host,与宿主机共享,占用宿主机资源 container,使用某容器的namespace,例如k8s的同一pod内的各个容器 bridge,挂到网桥docker0上,走iptables做NAT 实际上还有一种方法:先以none的方式ru...阅读全文

博文 2017-07-30 02:04:40 伊布

我开源了一个私人云盘——蓝眼云盘

蓝眼云盘 在线Demo (体验账号: demo@tank.eyeblue.cn 密码:123456) 后端tank地址 前端tank-front地址 简介 蓝眼云盘是 蓝眼系列开源软件 之一,也是蓝眼系列其他软件的基础服务软件。蓝眼博客具有以下几大特色: 1. 支持docker 蓝眼云盘的docker镜像已经发布到了Docker Hub,可以一行指令运行。 2. 软件体积小,跨平台,运行简单 蓝眼云盘安装包 6M左右,在windows linux mac OS操作系统中均可安装运行; 蓝眼云盘为绿色软件,将安装包解压缩,修改配置文件后即可一行命令立即运行。 3. 使用方便,核心功能齐全 蓝眼云盘主要支持pc web端,同时手机web也具有不错的响应性支持。 蓝眼云盘实现了云盘(如:百度云盘 ...阅读全文

博文 2018-01-30 15:34:37 李爽

Golang高阶:Golang协程实现原理

版权所有,转载请注明:http://www.lenggirl.com/go/goroutine.html 引言 实现并发编程有进程,线程,IO多路复用的方式。(并发和并行我们这里不区分,如果CPU是多核的,可能在多个核同时进行,我们叫并行,如果是单核,需要排队切换,我们叫并发) 进程是计算机资源分配的最小单位,进程是对处理器资源,虚拟内存(1)的抽象,而虚拟内存是对主存资源和文件(2)的抽象,文件是对I/O设备的抽象。线程是计算机调度的最小单位,共享同个进程分配的计算机资源。 上面这些是在深入理解计算机系统说的,如果有错来咬我呀。 总上所述,实际实现并发的是线程。首先,每个进程都有一个主线程,因为线程是调度的最小单位,你可以只有一个线程,但是你也可以创建多几个线程,线程调度需要CPU来切换,...阅读全文

博文 2019-05-15 11:34:56 veeeeeeeeeeee

探索Go内存管理(分配)

基于1.8.3版本,64位Linux操作系统 1、概述 Go内存管理基于tcmalloc,使用连续虚拟地址,以页(8k)为单位、多级缓存进行管理; 在分配内存时,需要对size进行对齐处理,根据best-fit找到合适的mspan,对未用完的内存还会拆分成其他大小的mspan继续使用 在new一个object时(忽略逃逸分析),根据object的size做不同的分配策略: 极小对象(size<16byte)直接在当前P的mcache上的tiny缓存上分配; 小对象(16byte <= size <= 32k)在当前P的mcache上对应slot的空闲列表中分配,无空闲列表则会继续向mcentral申请(还是没有则向mheap申请); 大对象(size>32k)直接通过mheap申请。 2、数...阅读全文

博文 2017-09-14 03:34:51 Love语鬼

Kubernetes一键部署利器:kubeadm

Kubernetes一键部署利器:kubeadm 要真正发挥容器技术的实力,你就不能仅仅局限于对 Linux 容器本身的钻研和使用。 这些知识更适合作为你的技术储备,以便在需要的时候可以帮你更快的定位问题,并解决问题。 而更深入的学习容器技术的关键在于,如何使用这些技术来“容器化”你的应用。 比如,我们的应用既可能是 Java Web 和 MySQL 这样的组合,也可能是 Cassandra 这样的分布式系统。而要使用容器把后者运行起来,你单单通过 Docker 把一个 Cassandra 镜像跑起来是没用的。 要把 Cassandra 应用容器化的关键,在于如何处理好这些 Cassandra 容器之间的编排关系。比如,哪些 Cassandra 容器是主,哪些是从?主从容器如何区分?它们之间...阅读全文

博文 2019-02-12 22:34:44 大数据专栏

docker实践之docker-compose部署mysql

docker实践之docker-compose部署mysql 前面用golang写了一个api server,但是要用到一些测试数据,又要方便给别人,想来用docker部署环境最简单了。只需要简单执行两个命令就可以搞定了。博主的环境是windows然后在windows里面部署一个centos7的虚拟机。在虚拟机里面安装部署了docker。 1、安装部署docker 在linux下面只需简单的一个命令: yum install docker 其他的系统类似。 2、编写docker-compose文件 version: '2' services: mysql: network_mode: "bridge" environment: MYSQL_ROOT_PASSWORD: "yourpasswo...阅读全文

博文 2019-05-04 12:34:38 weare_b646

Prometheus+Grafana实现监控系统

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

用于写 TCP 代理tcpproxy

包 tcpproxy 允许用户构建 TCP 代理,可选地根据 HTTP/1 主机头和 TLS 连接中的 SNI 主机名进行路由决策。 使用示例 ``` var p tcpproxy.Proxy p.AddHTTPHostRoute(":80", "foo.com", tcpproxy.To("10.0.0.1:8081")) p.AddHTTPHostRoute(":80", "bar.com", tcpproxy.To("10.0.0.2:8082")) p.AddRoute(":80", tcpproxy.To("10.0.0.1:8081")) // fallback p.AddSNIRoute(":443", "foo.com", tcpproxy.To("10.0...阅读全文

Docker源码分析(七):Docker Container网络 (上)

1.前言(什么是Docker Container) 如今,Docker技术大行其道,大家在尝试以及玩转Docker的同时,肯定离不开一个概念,那就是“容器”或者“Docker Container”。那么我们首先从实现的角度来看看“容器”或者“Docker Container”到底为何物。 逐渐熟悉Docker之后,大家肯定会深深得感受到:应用程序在Docker Container内部的部署与运行非常便捷,只要有Dockerfile,应用一键式的部署运行绝对不是天方夜谭; Docker Container内运行的应用程序可以受到资源的控制与隔离,大大满足云计算时代应用的要求。毋庸置疑,Docker的这些特性,传统模式下应用是完全不具备的。然而,这些令人眼前一亮的特性背后,到底是谁在“作祟”,到...阅读全文

博文 2015-03-29 20:00:57 孙宏亮