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

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

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-轻人

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

理解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

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 刘地

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

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实战 - 将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 _叶左左

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

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 孙宏亮

如何在长城后面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

关于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

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

Docker搭建自用golang开发环境

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

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

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 伊布

小型独立的 HTTP 服务器 devd

devd 是一个小型的、独立的、使用命令行的 HTTP 服务器,一个给开发者的本地 web 服务器。 特性: * **跨平台和自适应**。一个单独的静态编译二进制文件,没有外部依赖,适用于 OSX, Linux 和 Windows * **设计用于终端**。没有配置文件,没有系统守护进程,日志在终端阅读。 * **Livereload。**当 liverload 可用时,devd 插入一个小的脚本到 HTML 页面,在关闭 Head 标签之前。 * **反向代理+静态文件服务器+灵活的路由** * **轻型虚拟主机** * **延迟和带宽模拟** ![screenshot](http://static.oschina.net/uploads/img/201510/231704...阅读全文

用于写 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 Daemon网络

1. 前言 Docker作为一个开源的轻量级虚拟化容器引擎技术,已然给云计算领域带来了新的发展模式。Docker借助容器技术彻底释放了轻量级虚拟化技术的威力,让容器的伸缩、应用的运行都变得前所未有的方便与高效。同时,Docker借助强大的镜像技术,让应用的分发、部署与管理变得史无前例的便捷。然而,Docker毕竟是一项较为新颖的技术,在Docker的世界中,用户并非一劳永逸,其中最为典型的便是Docker的网络问题。 毋庸置疑,对于Docker管理者和开发者而言,如何有效、高效的管理Docker容器之间的交互以及Docker容器的网络一直是一个巨大的挑战。目前,云计算领域中,绝大多数系统都采取分布式技术来设计并实现。然而,在原生态的Docker世界中,Docker的网络却是不具备跨宿主机能力...阅读全文

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

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 孙宏亮

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 中柠檬

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

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 学生黄哲

动态变化的 json 解析 求指导

##### 有如下需求: ##### 1) 给应用系统分类,确定组成部份,并构建一个关系树(左树) ##### 如 一个应用系统 按功能来划分成 web,api,db,cache,mq等等组成, 应用系统作为一级根,web,api这些作为二级根,服务名称,主机名,cpu,mem,disk作为三级展示. 有些应用并非使用到 如 mq, 所以二极根是动态变化的. #####如下代码有些问题,求指导: 怎样获取整个json数据 ``` package main import ( "encoding/json" "fmt" ) type Systree struct { Sysname []Sys `"json:sysname"` } type...阅读全文

理解Docker单机容器网络

Docker容器是近两年最 火的IT技术之一,用“火山爆发式“来形容Docker的成 长也不为过。Docker在产品服务的devops 运维、云 计算(CaaS)、大数据以及企业内部应用等领域正在被越来越多的接受和广泛应用。Docker技术的本质在于提升计算密度和提升部署效率,高屋 建瓴的讲,它的出现符合人类社会对绿色发展的追求,降低资源消耗,提升资源的单位利用率。不过经历了两年多的发展,Docker依旧年轻,尚未成 熟,在集群调度、存储、网络、安全等方面,Docker依旧有很长的路要走。 在一年多以前,也就是Docker发布1.0后没几个月时,我曾经学习过一段时间的Docker,主要学习Docker的概念和基本使用方法。由于当时docker 还相对“稚嫩”,在产品和项目中暂无用武之地,也就...阅读全文

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

云主机与虚拟主机的区别是什么

普通虚拟主机:虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器,每个空间都给予相应的FTP权限和Web访问权限,以用于网站发布。 云虚拟主机:是普通虚拟主机的升级版。在云服务器基础上,使用云计算技术,更稳定、安全,可用性更强的虚拟主机。 虚拟主机的特点 1、 价格便宜。虚拟主机是标准的资源共享,性能虽然比不上VPS和服务器,但胜在价格,适合前期建设的网站。 2、 操作简便。虚拟主机的控制面板上有明确的在线解压、绑定域名、301重定向等设置,比较适合新手操作。 3、升级方便。如果在耐思尼克购买虚拟主机,主机升级只要用户在线提交申请,不用对网站进行更改,网站依然能正常运行,不够空间也不用担心。 云虚拟主机的特点 1、 通过...阅读全文

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日(周六) **时间:*...阅读全文

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...阅读全文

博文 2017-01-15 15:00:11 面码

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 *...阅读全文

golang 解决 TCP 粘包问题

什么是 TCP 粘包问题以及为什么会产生 TCP 粘包,本文不加讨论。本文使用 golang 的 bufio.Scanner 来实现自定义协议解包。 协议数据包定义 本文模拟一个日志服务器,该服务器接收客户端传到的数据包并显示出来 type Package struct { Version [2]byte // 协议版本,暂定V1 Length int16 // 数据部分长度 Timestamp int64 // 时间戳 HostnameLength int16 // 主机名长度 Hostname []byte // 主机名 TagLength int16 // 标签长度 Tag []byte // 标签 Msg []byte // 日志数据} 协议定义部分没有什么好讲的,根据具体的业务逻辑...阅读全文

博文 2018-03-09 14:30:02 276815076

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

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

容器化的MySQL性能如何?

说到部署,Docker将便携性和易用性拉高到一个新水准。MySQL相关的Dockerfile和脚本已经发布很长时间,在开发社区的使用率也稳步增长。这一点也在意料之中。 在影响到MySQL性能的每个环节上,用户的典型担忧在于:容器化以后,在这些环节上是否存在显著的性能开销。为此,我们进行了充分的性能测试,下面我会对测试结果的某些细节进行探讨。 我们的关注点主要在MySQL实例的IO和网络性能,尤其是对比采用了不同存储选项的实例,以及docker bridge网络模式带来了多少性能开销。***测试的运行环境是:Oracle Server x5-2,处理器为2x Xeon E5-2660 v3(40硬件线程),256G内存,操作系统Ubuntu 16.04,Docker版本v1.11....阅读全文

【时速云线上分享】 第九期:镜像构建优化之路

为促进 Docker 、 Kubernetes 等技术的交流传播,同时帮助用户更全面地了解时速云产品及其应用,时速云每两周会进行一次技术分享,分享时间为**周四晚 8:30-9:30**在用户微信群、时速云技术分享群等进行产品、容器技术相关的技术直播分享和现场答疑。以下整理自**5 月 26 日第九期技术分享内容**,由 时速云工程师 赵帅龙 分享。 本次分享的 PPT 内容如下([PPT 下载][1]) ![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2016/05/%E5%B9%BB%E7%81%AF%E7%89%872.jpg) ![alt 文本](http://blog.tenxcloud.com/wp-co...阅读全文

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 战神悟空

6行代码解决golang TCP粘包

什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。 协议数据包定义 本文模拟一个日志服务器,该服务器接收客户端传到的数据包并显示出来 type Package struct { Version [2]byte // 协议版本,暂定V1 Length int16 // 数据部分长度 Timestamp int64 // 时间戳 HostnameLength int16 // 主机名长度 Hostname []byte // 主机名 TagLength int16 // 标签长度 Tag []byte // 标签 Msg []byte // 日志数据 } 协议定义部分没有什么好讲的,根据具体的业务逻辑定义即可。 数...阅读全文

博文 2018-03-02 18:34:40 xialeistudio

基于 HTTP-REST 的 UUID 生成服务Guuid

**Guuid** 是一款由 Go 语言开发的,基于 HTTP-REST 的 UUID 生成服务 UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。 Guuid使用了服务器主机名、运行的进程ID、时间戳、随机数、时序元素等一系列元素来保证生成UUID的唯一性。 UUID 16 bytes, 构成: 4 bytes 主机名&进程ID 4 bytes 时间戳 4 bytes 计数器 4 bytes 随机数 Usage: 运行成功: 获取UUID 批量获取UUID 获取简版UUID 批量获取简版UUID LVS -> Nginx -> guuid...阅读全文

做网站用什么主机好

相信接触过建站的小伙伴都知道,做一个网站需要域名、空间和建站程序。域名通常就.com/.cn/.net这些主流域名,建站程序有自主开发的程序和自助建站工具,空间呢?空间又叫主机,大家最懵的也是主机。 选购主机,要考虑的因素无非就是价格、空间大小、行业匹配度、安全性(稳定性)和售后服务。主机的价格从一两百到上万元不等,价格最重要的决定因素是主机的空间大小。 怎么知道自己应该用多大的空间呢? 主机是用来安放你的网站供用户访问的,针对企业主要分为M型和G型。这里的M、G我们说的一张图片占多少空间的单位,1G=1024M。如果你不知道自己的网站做好后占据多大空间,可以先选择小空间的虚拟主机。耐思尼克的虚拟主机有多规格空间供大家选择,即使购买后发现空间不够用,也可以随时进行升级,...阅读全文

百度云主机的优势

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

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

蓝眼云盘 在线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 李爽

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安全产...阅读全文

阿里云ECS启动容器无法访问外网

初次在ECS使用docker,如文章所述有误,劳烦看官留言指正,谢过! 日期:2017-07-19 平台: 阿里云 ECS操作系统: Centos 7注明日期,只是辅助看官参考,随时间过去,文中所述不一定适用您遇到的问题。 言归正传 本文重点讲,ECS中docker build 不能访问外网的问题,所以,如何安装或部署golang服务,请参考使用alpinelinux 构建 golang http , 创建镜像的Dockerfile如下: FROM alpine:latest MAINTAINER demo RUN echo -e "https://mirror.tuna.tsinghua.edu.cn/alpine/latest-stable/main\n\ ...阅读全文

架构师初码邀你—浅聊上云思路

# 架构师初码邀你—浅聊上云思路 *话题发布专家:初码——资深程序员,初级架构师,知名博主* >在实践中,无论是个人站长还是中小企业,选择云服务,都会遇到如何上云的问题,这个问题的详细描述就是,应该选择怎样一种迁移和部署到云服务上的方式并且应该使用哪些云服务?今天我们抛开具体的技术和语言不谈,就可能出现的架构方式简单的聊一聊,以我个人的经验来看,有较多的遇到过如下3种上云场景 * 一、傻瓜型: 在云服务时代前,但凡提到建站,多数所指即使用虚拟主机搭建一个内容管理网站或者论坛社区网站,操作者只需要知晓简单的虚拟主机控制面板以及具体的应用软件的使用方式即可完成日常维护,而此种方式上云也较为简单,可在云服务商的云市场中,选购合适的运行环境购买并按照提示进行一键购买和配置,而服务商提...阅读全文

深度剖析容器之“状态”

![](http://blog.tenxcloud.com/wp-content/uploads/2016/08/%E5%AE%B9%E5%99%A8%E7%8A%B6%E6%80%81.png) 有状态应用程序可以被容器化吗?或者容器只适合无状态的应用程序吗?本文带你一见分晓。 Docker Engine 等容器技术为应用提供了标准打包和运行时环境。 容器能快速部署,并有效地利用系统资源。开发人员使用容器技术,换取的是应用程序的可移植性和可编程的镜像管理。运维团队使用容器,可以以标准化的方式部署和管理运行时单元。 除了这些已知的优点,我们对容器都有一个普遍的误解:容器是短暂的,所以只能运行无状态的微服务应用,而不能运行有状态的服务。下面我们看看这个观点是否成立。 ...阅读全文

国内主机与海外主机的区别是什么

站长建站的时候都遇到过主机选择困难的问题,一个是听上去高大上的国外主机,一个是纷繁多样的国内主机,到底怎么选择?其实,只要了解了它们的区别,选择就容易多了。下面给大家整理了国内和国外主机的六大差别,供大家选购参考。 1、备案:国内主机必须备案,国外主机不需要。 国外主机可以说是懒人福音,但如果为了省略这点手续就选择国外主机,并不值哦。因为现在国内一些主机商会包办备案服务,大家准备资料就可以了。 2、访问速度:国内主机国内访问快,国外主机国外访问快。 如果你的网站主要针对国内用户,选择国内主机才是最合适的,因为国外的服务器在国内的响应速度比较慢,因为网站打不开而丧失客户,实在有点冤。如果是专门做外贸的,建议根据外贸地域选择主机。 3、空间大小:如果说国内主机的空间是香辣鸡...阅读全文

Docker 重要更新: 原生支持多阶段构建(multi-stage build)

Docker 的口号是 Build, Ship, and Run Any App, Anywhere.但是我们在应用过程中会遇到一个问题,我们在 build 的时候,把源码也 build 进去了。然后就继续把源码 Ship 出去吗?这可不行。所有的编译型语言都面临这个困扰。即使是脚本型语言,build 的时候也会使用很多上线时用不到的构建工具,而我们希望减小生产镜像的体积,这样我们的小鲸鱼才能多拉一点集装箱嘛。 传统做法 我们最终的目的是要将编译好的可执行文件复制到 alpine 这样的迷你镜像里,那么该怎么弄到编译好的文件呢?基于 Docker 的思想,我们肯定需要在一个标准容器中编译,这样这个过程才是标准化的,再说,你在 Ubuntu 编译出一个二进制文件在 alpine 也运行不了。 ...阅读全文

博文 2017-04-14 10:01:34 Muninn

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...阅读全文

博文 2017-12-12 03:04:46 白羽明

通过不到100行Go代码打造你自己的容器

Docker在2013年三月实现了开源发布,它的出现让软件开发行业对于现代化应用的打包以及部署方式发生了巨大的变化。紧随着Docker的发布,各种具有竞争性、致敬性以及支持性的容器技术纷纷涌现,为这一领域带来了极大的关注度,同时也引起了人们的反思。这一系列文章将解答读者的各种困惑,对如何在企业中实际使用容器进行分析。 这一系列文章首先将对容器背后的核心技术进行观察,了解开发者目前如何使用容器,随后将分析在企业中部署容器的核心挑战,例如如何将容器技术与持续集成和持续交付管道进行集成,并对监控方式进行改进,以支持不断变化的负载,以及使用短期容器的潜在需求。本系列文章的总结部分将对容器技术的未来进行分析,并探讨无核化技术(unikernels)目前在处于技术前沿的组织中所扮演的角色。 本文是本系列...阅读全文

博文 2016-08-23 05:00:02 justdoithai