2017总结2018计划 又到年底,回顾2017年初定下的目标,咳咳咳…. 2017 2017,定了一堆目标,想当初定目标时信心满满,肯定能全部完成,然而事实证明,理想很丰满,现实啪啪啪。 技术 去年的工作内容主要在一些Go项目和容器技术上,技术栈是Go+Docker+Kubernetes,这三样基本是现学现卖,一边学习一边实践,做了几个go项目,帮助部门定制了一套开发流程并部署了开发环境,主要是基于Gitlab... Posted by Bazingafeng on February 9, 2018 Kubernetes的资源管理 什么是资源 在Kubernetes中,资源指的是可以被pod或容器“请求”,“分配”,“消费”的那些东西。例如:CPU,内存,硬盘。资源又分为可压缩资源和不可压缩资源,目前CPU是唯一支持的可压缩资源,内存和硬盘是不可压缩资源。对于CPU这种可压缩资源,如果pod中服务使用CPU超过限额,该pod不会被kill掉但会被限制,而对于内存这种不可压缩资源,如果pod中服务使用内存超过限额,该po... Posted by Bazingafeng on December 4, 2017 Kubeadm安装Kubernetes集群 前言 kubeadm是kubernetes官方提供的快速安装kubernetes集群的工具,相比以前手动安装各个组件,kubeadm可以说是非常方便了。我在安装的过程中遇到了很多坑,而引起这些坑的根本原因就是网络不通,因为要去拉谷歌的镜像,如果服务器没有配代理的话,会遇到各种各样的问题。所以,建议大家在安装前先配好代理,如果没有代理只能墙内安装,需要从其他镜像仓库把各个镜像拉下来,并修改各个... Posted by Bazingafeng on November 20, 2017 Docker部署Go应用 前言 因为go的应用就是一个可执行的二进制文件,所以使用docker部署go应用非常简单。 编写一个go应用 下面是一个打印Hello World的简单go应用: //hello.go package main import ( "fmt" ) func main() { fmt.Println("Hello, World!") } 执行go build编译生成可执... Posted by Bazingafeng on September 14, 2017 Go的包管理工具godep和dep 前言 目前go并没有官方的包管理工具,比较流行的是godep。godep从go 1.0开始就可以使用了,是比较老的包管理工具,早期使用go的人应该都用过godep。而dep是2017年初才发布的包管理工具,要求go >= 1.7,目前还不太成熟了,用的人很少,不过却是最有可能被纳入官方的包管理工具。下面分别介绍下godep和dep的使用。 godep install godep使用起... Posted by Bazingafeng on July 11, 2017 理解FastCGI和PHP-FPM 前言 由于我一直对CGI、FastCGI、PHP-CGI、PHP-FPM这几个概念都比较模糊,所以最近花了点时间去详细了解了一下,并在此做个学习记录。 CGI和FastCGI CGI(Common Gateway Interface)全称是通用网关接口,是web服务器与应用程序之间数据交换的一种与语言无关的协议,它规定了要传递给web服务器的数据和格式,如URL、查询字符串、POST数据、... Posted by Bazingafeng on July 9, 2017 Git使用技巧 有些东西一段时间不用就特别容易忘,最近在使用git的时候老是要去查文档,所以在这里记录git的一些用法,以方便以后查阅。 回滚 对于已经push过的代码,回滚到某个版本,可以使用git reset和git revert两种方法。 例如:远程提交记录是A -> B -> C -> D,要回滚到B那个版本: git reset git reset --hard B git ... Posted by Bazingafeng on July 9, 2017 Nginx设置FastCGI Cache 前言 Nginx包含一个FastCGI模块,该模块具有缓存PHP后端提供的动态内容的指令。设置此操作将无需额外的页面缓存解决方案,如反向代理或特定于应用程序的插件。也可以根据请求方法,URL,Cookie或任何其他服务器变量不缓存某些内容。 开启FastCGI Cache 编辑nginx.conf配置文件,在Server{}模块的上面添加以下内容: fastcgi_cache_path /... Posted by Bazingafeng on June 29, 2017 Go的变量命名 名字的重要性 可读性是定义良好代码的标准,好的名字对于可读性至关重要,这是对于Go的变量命名来讲的。 好的变量名 一个好的变量名的标准: 一致(容易猜测) 简短(容易声明) 准确(容易理解) 经验法则 变量声明的地方与使用它的地方隔的越远,则变量名应该越长。 使用大小写混合 Go中的变量名应该使用大小写混合,而不应使用names_with_underscores这种下划... Posted by Bazingafeng on June 27, 2017 Docker搭建Mongodb集群 最近在搞公司内网开发环境,需要基于docker容器搭建一套mongodb复制集群,这我以前没搭过啊,于是我去Google了一下,发现还挺简单,但其中也遇到了坑,所以这里记录一下,避免以后再次踩坑。 思路 这里搭建集群是在单台物理机上搭建的,大致思路基本都是这样:使用mongo基础镜像启3个docker容器,一个主服务器两个备份服务器,将容器内的27017端口映射到物理机上三个端口,然后进入... Posted by Bazingafeng on June 19, 2017 ← Newer Posts Older Posts → FEATURED TAGS php 生活 docker go k8s ABOUT ME Bazingafeng,Hello World开发攻城狮,技术栈:PHP+GO+DOCKER,擅长使用各种流行语言构建Hello World应用程序,写代码一定要查文档一定要Google一定要GitHub一定要Stack Overflow,现在杭州一家金融互联网公司敲键盘。