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

深入浅出Docker(六):像谷歌一样部署你的应用

【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。为了更好的促进Docker在国内的发展以及传播,我们决定开设《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容,让读者对Docker有更深入的了解,并且能够积极投入到新技术的讨论和实践中。另外,欢迎加入InfoQ Docker技术交流群交流Docker的最佳实践,QQ群号:124378115。 1.概述 谷歌发起的开源项目从来都是广受技术圈的关注...阅读全文

博文 2015-03-29 19:53:02 肖德时

极易搭建的自助 Git 服务 Gogs

Gogs(Go Git Service) 是一个极易搭建的自助 Git 服务。 ## [](https://github.com/gogits/gogs/blob/master/README_ZH.md#%E5%BC%80%E5%8F%91%E7%9B%AE%E7%9A%84)开发目的 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、Mac OS X 以及 Windows。 ## [](https://github.com/gogits/gogs/blob/master/README_ZH.md#%E9%A1%B9%E7%9...阅读全文

开源项目 2014-03-23 16:00:00 网友

大数据:通过Mesos、Docker和Go,使用300行代码创建一个分布式系统

时下,对于大部分IT玩家来说,Docker和Mesos都是熟悉和陌生的:熟悉在于这两个词无疑已成为大家讨论的焦点,而陌生在于这两个技术并未在生产环境得到广泛使用,因此很多人仍然不知道它们究竟有什么优势,或者能干什么。近日,John Walter在Dzone上撰文Creating a Distributed System in 300 Lines With Mesos, Docker, and Go,讲述了Mesos、Docker和Go配合带来的强大破坏力,由OneAPM工程师翻译。 以下为译文 构建一个分布式系统是很困难的。它需要可扩展性、容错性、高可用性、一致性、可伸缩以及高效。为了达到这些目的,分布式系统需要很多复杂的组件以一种复杂的方式协同工作。例如,Apache Hadoop在大型集...阅读全文

博文 2015-11-18 01:00:08 zhouhaiqing0905

golang的杀手级应用:docker

docker 是 golang 的第一个杀手级应用,发展迅猛, 现在各大云计算平台几乎全都支持 docker 实例,包括 谷歌,亚马逊,阿里云等。 golang 本身已经让我惊喜万分,而 docker 更是极大的激发了我对虚拟化的想象。 关于软件和硬件 IT 业发展至今,软件和硬件始终是无法分割的两个物体。 就拿最近几年红红火火的智能机时代来说, 很久之前的诺基亚智能机, 软件和硬件相辅相成, 连进入主界面都需要按一个特定的按钮才能进入。 软件的操作都严重依赖键盘等按键。 体验非常不好, 对软件设计人员的约束也很大。 而苹果 iPhone 横空出世的时候, 最大限度的让你忘记硬件, 硬件主要只剩下一个 home键 和 可触控玻璃。 就是这样的 home键 和 触摸屏 组合, 大大的释放了软件...阅读全文

博文 2015-02-15 18:27:19 YanyiWu

Mac os安装golang开发环境

为了能够愉快地进行golang编程,我们需要安装以下几样东西: 包管理Homebrew 语言环境golang 版本管理git 虚拟器docker 编译器Goland 我将按照这个顺序叙述整个安装过程 docker 其实是可选的,它可以把应用程序打包为可移植的、自给自足的容器。这样一来,你就可以在本地生成golang程序的docker镜像,直接扔到测试环境,便可以进行测试了,不需要再进行代码上传,环境配置等操作了。 如果你觉得暂时用不到,也可以先不装。 1 安装brew HomeBrew图标 Homebrew有点类似于Linux操作系统中的apt-get(Ubuntu)、yum(yum),Mac的操作系统中使用它解决包依赖问题,套用官方的话来说: Homebrew 能干什么? 使用 Homeb...阅读全文

博文 2018-08-13 18:35:55 夏之绘

redigo 包报EOF错误

我使用了redigo包的连接池方法来请求建好的redis库。但是在请求过程中经常会报 EOF的错误,这就导致rs(redis.Conn)关闭。并且数据也没有请求到。想请教一下有没有其他人也有类似的问题。这个EOF是什么导致的错误呢。 * 我的redis是用docker容器跑的。 * go版本 1.4.2 * 不管是连接池还是直接请求,都会常出现EOF错误 * 之前在写http的stream方式请求的数据的时候,也经常出现 unexpected EOF错误,也没有找到原...阅读全文

400余份阿里珍贵技术资料限时免费下载(持续更新中)

400余份阿里珍贵技术资料限时免费下载(持续更新中) 2017年,你是否有一个小目标,打算在新的一年事业更上一层楼、代码写的更优美、对互联网生态拥有更多宏观的战略性了解? 小编精心挑选2016云栖大会、历届在线技术峰会、云栖技术直播核心资料,只把最好的呈现给你!因为资料集合过于庞大,所以分批放出,随时关注社区,可以看到全套400余份资料合集哦! 大数据、人工智能、云计算、互联网通用技术……全球技术热点一网打尽,资深专家亲授核心技术。 满足你对各类热点技术的学习需求,下载下来存起来,足够看一年的了! 版权公告:资料版权归属为云栖社区,转载请注明出处。未经允许,不可商用。如发现违规违法使用,保留追究法律责任的权利。 资料获取攻略:使用阿里云账号或淘宝账号登录后,点击...阅读全文

理解Kubernetes网络之Flannel网络

第一次采用kube-up.sh脚本方式安装的Kubernetes cluster目前运行良好,master node上的组件状态也始终是“没毛病”: # kubectl get cs NAME STATUS MESSAGE ERROR controller-manager Healthy ok scheduler Healthy ok etcd-0 Healthy {"health": "true"} 不过在第二次尝试用kubeadm安装和初始化Kubernetes cluster时遇到的各种网络问题还是让我“心有余悸”。于是趁上个周末,对Kubernetes的网络原理进行了一些针对性的学习。这里把对Kubernetes网络的理解记录一下和大家一起分享。 Kubernetes支持Flanne...阅读全文

博文 2017-02-06 03:21:36 bigwhite

centos 7 golang gogs 部署

centos 7 golang gogs 部署 很久没有时间记录一些东西了,用起来的时候就很麻烦, golang 的安装 yum install go 这个原生安装但是 似乎docker 的环境有问题,主要是gorootpath的问题,会导致后面 go get 报错(import path does not begin with hostname), cd /tmp curl -LO https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz shasum -a 256 go1.7*.tar.gz sudo tar -C /usr/local -xvzf go1.7.linux-amd64.tar.gz mkdir -p ~/...阅读全文

博文 2017-01-10 09:00:02 jzbis

闲谈Kubernetes 的主要特性和经验分享

主要介绍 Kubernetes 的主要特性和一些经验。先从整体上看一下Kubernetes的一些理念和基本架构, 然后从网络、 资源管理、存储、服务发现、负载均衡、高可用、rolling upgrade、安全、监控等方面向大家简单介绍Kubernetes的这些主要特性。 我们先从整体上看一下Kubernetes的一些理念和基本架构, 然后从网络、 资源管理、存储、服务发现、负载均衡、高可用、rolling upgrade、安全、监控等方面向大家简单介绍Kubernetes的这些主要特性。 当然也会包括一些需要注意的问题。主要目的是帮助大家快速理解 Kubernetes的主要功能,今后在研究和使用这个具的时候有所参考和帮助。 ##1.Kubernetes的一些理念: 1...阅读全文

使用 go 写一个检测 tcp udp 状态的包

因为要跟着 dockerpool 的基友写 Docker 管理的程序,所以今年的目标是学习 go 语言。看完 go 的入门教程,高深的代码还看不懂,所以决定先尝试写一些平常可以用的东西,mac 底下的 nc 命令可以检测很多东西,但是用着不习惯,所以决定写一个 check tcp udp 的包。package main import ( "flag" "fmt" "net" ) const version = "0.1.0" var Input_protocol = flag.String("p", "tcp", "The protocol you want to check") func tcp(url string) int { _, err := net.Dial("tcp", url...阅读全文

博文 2015-01-06 16:00:12 qcpm1983

k8s与CICD--一个完整的drone demo

前言 在上一篇文章中,我们只是简单介绍了一下drone的部署。接下来会逐步深入介绍,后期也会翻译一些官方的文档以及我在实际工作中用到的插件的介绍。这篇文章,主要是一个完整的drone demo。pipeline中,包括了git clone 拉取代码,go build 构建,生成docker镜像并推送到harbor,notify 通知。关于通知这块,官方提供的插件都是一些西方喜欢用的即时通讯或是协作工具,比如telegram,slack,line等。所以在后期,我计划写一个微信或是钉钉的插件。 .drone.yml 先上配置文件,有一个大概的认识,再逐一解读。 workspace: base: /go path: src/gogs.xxx.com/baa-cicd pipeline: buil...阅读全文

博文 2017-11-27 04:04:42 iyacontrol

游戏分布式服务器pitaya

Pitaya是一款易于使用,快速且轻量级的分布式游戏服务器框架 Pitaya is an simple, fast and lightweight game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. It provides a basic development framework for distributed multiplayer games and server-side applications. Getting Started Prerequisites Go >= 1.10 e...阅读全文

开源项目 2019-01-31 10:14:52 topfreegames

golang remote debug和docker debug

有时候我么需要远程调试golang程序,比如我们在macos写的代码,但是有时在linux上运行的,所以我们需要远程调试运行在linux系统的代码。另外一种情况是我们可以把goalng打包到docker 镜像中,代码跑在容器中同样可以调试。以goland为例。 remote debug 远程调试golang代码需要在运行代码的远程机器上按照delve,然后以delve运行要调试的程序。 编译 export CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -gcflags='all -N -l' main.go install delve go get go get -u github.com/derekparker/delve/cmd/dlv d...阅读全文

博文 2018-07-04 12:34:42 myonlyzzy

如何阅读一个开源项目的源码?

大约半个月之前,我稍微了解了一些分布式系统的理论知识.但是它们很枯燥,而且有的内容,在我看来都是过时的东西.于是,我想到了,找一个分布式系统的项目的源代码,来了解分布式系统的实现.首先我想到了Kubernetes,但是我担心因为对其了解不多,而不能成功地理解它.所以我选择了先研究Docker. 我们都知道,Docker是用Golang语言写的.而我在阅读Docker的源码之前,对Golang一无所知. 其实我很久之前,就想找一个开源项目的源码来阅读.为此我上网搜了大量的关于如何阅读一个开源项目的源码的文章以及提问和答案.但是,它们都前篇一律.并没有提供什么实质性的帮助. 所以,这次,我稍微了解了一下Golang语言(只是花了大约一上午的时间,照着官网上的Tutorial走了一遍),然后,就撸...阅读全文

博文 2017-05-15 02:41:18 AlstonWilliams

如何用Docker定制你自己的Beego环境

# 如何用Docker定制你自己的Beego环境 ###前言: 学习golang几个月了,一直在论坛和qq群里潜水,一直都想写点什么回报大家积极的知识分享。 前几日在CSDN上看到了一篇文章:[如何将nodeclub构建成Docker镜像](http://www.csdn.net/article/2015-07-21/2825268).正好也对docker有所了解,就来分享一下我平时怎么应用docker来跑我的项目。 ### 一、为什么要用Docker 先引用Beego作者谢大描述虚拟机的一段话:"平常我们经常会遇到这样的问题:在开发机上面开发完毕程序,放到正式环境之后会出现各种奇怪的问题:描述符少了、nginx配置不正确、MySQL编码不对、php缺少模块、gli...阅读全文

Docker 管理工具 Shipyard

Shipyard 是一个基于 Web 的 [Docker](http://www.oschina.net/p/docker) 管理工具,支持多 host,可以把多个 Docker host 上的 containers 统一管理;可以查看 images,甚至 build images;并提供 RESTful API 等等。 Shipyard 要管理和控制 Docker host 的话需要先修改 Docker host 上的默认配置使其支持远程管理。 ![Login](http://static.oschina.net/uploads/img/201312/15230303_JvLZ.jpg) ![Containers](http://static.oschina.net/uploads/i...阅读全文

开源项目 2013-12-14 16:00:00 shipyard

深入浅出Docker(四):Docker的集成测试部署之道

【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。为了更好的促进Docker在国内的发展以及传播,我们决定开设《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容,让读者对Docker有更深入的了解,并且能够积极投入到新技术的讨论和实践中。另外,欢迎加入InfoQ Docker技术交流群交流Docker的最佳实践,QQ群号:365601355。 1. 背景 敏捷开发已经流行了很长时间,如今有越来越...阅读全文

博文 2014-11-12 17:16:41 肖德时

小米监控系统 OpenFalcon

OpenFalcon是一款小米监控系统。 功能: * **数据采集免配置**:agent自发现、支持Plugin、主动推送模式 * **容量水平扩展**:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 * **告警策略自发现**:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 * **告警设置人性化**:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 * **历史数据高效查询**:秒级返回上百个指标一年的历史数据。 * **Dashboard人性化**:多维度的数据展示,用户自定义Dashboard等功能。 * **架构设计高可用**:整个系统无核心单点,易运维,易部署。 ...阅读全文

Kubernetes集群中的Nginx配置热更新方案

Nginx已经是互联网IT业界一个无敌的存在,作为反向代理、负载均衡、Web服务器等多种角色的扮演者,Nginx在全球各个互联网公司落地、开花和结果,Ngnix已经成为了支撑全球互联网应用的一个不可获取的组成部分。 在我们的平台中,Nginx同样被拿来作为服务接入的最前端的反向代理,并且我们的Nginx也是作为一个Service跑在我们的Kubernetes集群中的。Ngnix背后的服务众多,服务的生生死死都要在Nginx上这些服务路由的配置中有所体现,这就要求部署在Kubernetes集群中的Nginx需要有一个合理的配置热更新方案。 Nginx自身是支持配置热更新的,通过nginx -s reload命令可以实现这一点: # sudo nginx -s reload # sudo tai...阅读全文

博文 2017-02-06 03:02:03 bigwhite

docker(9):使用alpinelinux 构建 golang http 启动了,才15mb

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53635529 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys 1,关于alpine 环境 http://blog.csdn.net/freewebsys/article/details/53615757 昨天研究了下golang的http服务器。 发现在启动的时候报错: No such file or directory 发现这个错误,开始还以为是alpine 的系统lib库少了, 必须使用docker 官方的golang镜像呢。 后来研究明白了,其实是因为我的宿主是centos。 我在centos 上编译了 golang...阅读全文

博文 2016-12-17 16:00:02 freewebsys

通过Mesos、Docker和Go,使用300行代码创建一个分布式系统

http://www.csdn.net/article/2015-07-31/2825348 【编者按】时下,对于大部分IT玩家来说,Docker和Mesos都是熟悉和陌生的:熟悉在于这两个词无疑已成为大家讨论的焦点,而陌生在于这两个技术并未在生产环境得到广泛使用,因此很多人仍然不知道它们究竟有什么优势,或者能干什么。近日,John Walter在Dzone上撰文Creating a Distributed System in 300 Lines With Mesos, Docker, and Go,讲述了Mesos、Docker和Go配合带来的强大破坏力,由OneAPM工程师翻译。 以下为译文 构建一个分布式系统是很困难的。它需要可扩展性、容错性、高可用性、一致性、可伸缩以及高效。为了达到...阅读全文

博文 2015-08-05 03:00:01 mahuan2

怎么学习golang?

来自asta谢分享 http://www.zhihu.com/question/23486344/answer/24770195 我觉得学习一门语言最重要的就是做到三点,第一看基础知识,第二学习抄代码,第三学习写代码 第一点,很多人都觉得上来就动手写,但是你基础的东西都没掌握,怎么写呢?欲速则不达,所以基础的东西还是必须要先掌握好.这里推荐你几个基础的入门材料: http://tour.golang.org/#1 邢星翻译的mikespook/Learning-Go-zh-cn · GitHub Go by Example 我觉得你把这几个基础掌握之后就可以开始抄袭代码了,如果你之前有PHP的开发经验,那么也许我写的这本书对你了解golang有帮助, https://github.com/a...阅读全文

博文 2017-02-09 16:56:49 xuwuhen

Golang的docker尝试

一、 前言 docker 就不在这里介绍了,相关的文档已经很完善,中文文档 Docker —— 从入门到实践 写的很棒,推荐去看看。 docker 基于 Golang 开发,已经不用解释了,而 Golang 天生适合运行在 docker 容器中,却不是这个原因,这得益于:Golang 的静态编译,当在编译的时候关闭 cgo 的时候,可以完全不依赖系统环境。 二、 Golang代码 我们打算在 docker 中测试 Golang ,所以先编写一个 Golang 的测试代码。 新建文件:vi main.go package main import ( "fmt" "io/ioutil" "net/http" "os" ) func main() { resp, err := http.Get("...阅读全文

博文 2017-10-20 13:03:16 dingdayu

初识Dockerfile

[**官方文档**](https://docs.docker.com/v17.09/engine/reference/builder/#from) ### FROM 语法: ```shell FROM [AS ] FROM [:][AS ] FROM [@][AS ] ``` ### RUN 功能 :在一个新层执行任意命令并提交结果,提交的结果将用于Dockerfile的下一个步骤,分层运行和提交符合Docker的核心概念 ```shell RUN RUN ["executable","param1","param2"] 例子 FROM alpine:latest...阅读全文

博文 2019-07-24 12:31:14 daymenu

开源一个自己写的内网穿透反向代理软件 lunnel

因为工作学习的需要,需要将内网的服务暴露在外网(需要把docker的unix socker暴露在外网来使用http控制)。之前也有用过 ngrok ,但用了一阵子发现有内存泄漏、 tcp 连接读的字节不够导致僵死等 BUG ,该项目也被作者废弃了,作者跑去拿 2.0 版本赚钱去了。再加上我有一些定制化的需求,于是乎利用空闲时间用go撸了内网穿透反向代理: https://github.com/longXboy/lunnel 。 大家有需要或者有兴趣话可以去下载试用,也欢迎大家向我提 iusse 和 P...阅读全文

外企招聘Go语言工程师 (Apple)

走过路过,万万不要错过,直属美国团队,不要犹豫,欢迎咨询投递。 Job Summary We are looking for Senior DevOps Engineer to join our growing team and help lead the next generation of products we build. The systems you will manage and build enable the production of nearly every Apple product sold today. You should like solving problems that no one has solved yet and care about ...阅读全文

一篇文章带你了解Cloud Native

背景 Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来解决什么问题?它是一个新技术还是一个新的方法?什么样的APP符合“云原生”的呢?等等。下面将会一一解读。 Cloud Native介绍 Cloud Native是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等,以及根据商业能力对公司进行重组。 可以说,Cloud Native即包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定...阅读全文

博文 2018-04-09 14:59:28 u011537073

容器集群管理系统 Kubernetes

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 [Docker](/p/docker) 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。详细的设计思路请参考[这里](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/DESIGN.md)...阅读全文

Docker源码分析(一):Docker架构

【编者按】在《深入浅出Docker》系列文章的基础上,InfoQ推出了《Docker源码分析》系列文章。《深入浅出Docker》系列文章更多的是从使用角度出发,帮助读者了解Docker的来龙去脉,而《Docker源码分析》系列文章通过分析解读Docker源码,来让读者了解Docker的内部实现,以更好的使用Docker。总之,我们的目标是促进Docker在国内的发展以及传播。另外,欢迎加入InfoQ Docker技术交流群,QQ群号:272489193。 1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。目前,Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟...阅读全文

博文 2015-03-29 19:56:16 孙宏亮

golang实现类似Scan或者Scanf功能

fmt.Scan或者fmt.Scanf可以从标准输入中读取数据,也可以自己实现一个类似的功能 package main import ( _"errors" "fmt" "io" "os" "syscall" "time" "bytes" _"os/exec" "github.com/docker/docker/pkg/term" ) func main() { Stdin() } func Stdin() { var in io.Reader in = os.NewFile(uintptr(syscall.Stdin), "/dev/stdin") _,ok:= term.GetFdInfo(in) if ok { fmt.Println("Is terminal \n") } reade...阅读全文

博文 2015-10-28 17:00:13 webyh

IPFS安装编译

filecoin白皮书 官网:ipfs.io [TOC] 安装 参考: IPFS Alpha Demo go-ipfs#build-from-source 安装Go IPFS 如果没有Go环境,首先需要安装Go环境: brew install go 配置Go环境变量:执行sudo vi /etc/profile加入 #go config export PATH=$PATH:/usr/local/go/bin export PATH=$PATH:$GOPATH/bin 执行wq! 强制保存退出。 下载并编译IPFS go get -u -d github.com/ipfs/go-ipfs cd $GOPATH/src/github.com/ipfs/go-ipfs make install ❌...阅读全文

博文 2018-06-06 11:34:39 Jisen

Gopher China 大会

前两天去上海参加 Gopher China 2015 大会,见到很多久闻大名的大神和朋友,感觉很好。而且看到许多的企业,尤其是大企业都已经开始成规模的使用 golang,说明 golang 本身的设计和性能,已经受到了大家的认可。当然其实有很多的话题,不局限在 golang 了。 Go 语言核心 最重量级的话题,就是 雨痕 的 《Go 1.4 Runtime》。主要说了 Go 的内存分配器、垃圾回收器和goroutine调度器三块内容。我之前阅读过他的 《Go 语言笔记》 ,非常不错。很详细的阐述了 Go 语言本身的实现设计,同时为更合理的利用 golang 提供一些参考。 再加上他本人也很低调,真的是 隐士高人 的感觉。这次的他的演讲也相当不错。流畅的思路和平和的语言,而且不时的有诙谐幽默...阅读全文

博文 2015-05-13 10:07:01 傅小黑

基于CentOS下sshd和golang环境的Docker

1、Dockerfile文件 #继承centos7镜像 FROM centos:centos7 MAINTAINER tpythoner tpythoner@gmail.com" #yum安装sshd服务 #RUN yum install -y openssh openssh-server openssh-clients RUN yum install -y openssh-server #创建sshd RUN mkdir /var/run/sshd RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key #设置root密码以及添加tpython...阅读全文

博文 2015-06-07 14:00:01 tpythoner

初识微服务

## 该项目使用技术 | 技术 | 版本 | |:---:|:---:| |go|1.12.7| |protoc|libprotoc 3.9.1| |mysql|mariadb 10.4.7| |vue|2.0| |element-ui|| |docker-compose|1.24.1| |micro|| |go-micro|| |make|4.2.1| ## 项目截图 ![container.png](https://static.studygolang.com/190820/44a15b31f9ce4e0d7dd865ff3606e6eb.png) ## 地址 微服务文档地址:https://daymenu.github.io/shipping/ github仓库地址:https://g...阅读全文

博文 2019-08-20 17:59:54 daymenu

用Docker容器进行IoT开发

随着IoT新的硬件平台和开发板的不断更新,SDK交付越来越多地转向零碎化以及“按需组装”解决方案。大多数的硬件公司很难提供能够正常运行的Software Development Kits (SDKs)。 Docker为硬件平台提供了实现简单部署打包SDK环境的机会,这是一个巨大的飞跃。这是第一个轻便的模式,跨操作系统、具有一致的工具和便于与他人分享的机制。 想了解更多关于物联网和Docker的深度分享请点击这[Rapidly develop Internet of Things apps with Docker Containe][1] 这将如何运行呢? 为了说明Docker是如何简化这些环境的交付,让我们来看下我们为esp8266项目开发的Docker容器。这个容器...阅读全文

分布式文件服务器godfs

godfs ========== [![Build Status](https://travis-ci.org/hetianyi/godfs.svg?branch=master)](https://travis-ci.org/hetianyi/godfs) [![go report card](https://goreportcard.com/badge/github.com/hetianyi/godfs "go report card")](https://goreportcard.com/report/github.com/hetianyi/godfs) ### ```godfs``` 是一个用go实现的轻量,快速,简单易用的分布式文件存储服务器。 ```godfs``...阅读全文

使用 caddy 作为微服务的 API gateway

背景 大家都知道,Docker这些年让IT界产生了深刻的变革,从开发到测试到运维,处处都有它的身影。它同时也和微服务架构相互促进,并肩前行。 在最新版的 Docker(CE 17.03) 里,随着 swarm mode 的成熟,在较简单的场景里已经可以不再需要专门的基础设施管理,服务编排,服务发现,健康检查,负载均衡等等。 但是API gateway还是需要一个的。或许再加上一个日志收集,你的微服务架构就五脏俱全了。我们知道Nginx Plus是可以很好的胜任 API gateway 的工作的,但它是商业软件。Nginx我们不说认证啊限流啊统计啊之类的功能,单就请求转发这一点最基本的就出了问题。 我们知道Docker是用DNS的方式,均衡同一名称的服务请求到不同的node,但是Nginx为了...阅读全文

博文 2017-03-18 08:53:33 Muninn

golang连接rabbitmq

1.docke 中安装 rabbitmq docker pull rabbitmq 2.运行 rabbitmq docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:latest 3.下载 rabbitmq golang 客户端 go get github.com/streadway/amqp 4.send.go 1 package main 2 3 import ( 4 "log" 5 6 "github.com/streadway/amqp" 7 ) 8 9 func failOnError(err...阅读全文

博文 2018-08-22 18:30:01 chaselogs

基于Minio和Thumbor搭建独立图片服务

多数应用系统都会用到图片存储,从系统架构角度来说,像图片存储这样的服务应该尽量从核心业务中剥离出来。很多人会选择在线云存储服务,比如七牛云存储之类的。但是很多企业项目因为各种需求,还是会要求图片服务部署在内部。所以我们还是可能会需要一个可独立部署的图片服务。 自己开发实现一套图片存储服务系统,会花不少功夫,但如果有现成的方案何乐而不为呢?我在Github上发现Minio和Thumbor这两个项目可以帮我们达成需求。 Minio Minio Cloud Storage是一个分布式对象存储系统。它是一个基于Go的开源项目,并且实现了Amazon S3的API。也就是说Minio相当于一个开源的Amazon S3。 使用docker安装可能是最省事的方式,两行命令即可安装下载并且运行起来。注意,这...阅读全文

博文 2017-03-11 11:01:06 fengluo

手机短信验证微服务SmsCode

专门为需要【手机短信验证码】使用场景而设计的微服务(Micro service),如:用户注册、找回密码、用户身份验证、验证码登录等等。 首先我没有找到已实现这些基本功能合一的轮子,至少开源的没有。而实际上我们很多项目开发时经常需要用到手机验证码功能。然而每次重复造轮子又觉得太繁琐且不容易集中控制。于是有了开发一个可复用轮子的想法。那么合计不到1500行Go代码实现这个可复用的手机验证码微服务何乐不为呢? 得益于Go语言的跨平台支持,SmsCode可安装在所有主流OS上(Linux,Mac OS X,FreeBSD,Windows,ARM等) 推荐Linux x64上安装SmsCode,编译安装请确保已经在OS上安装了Go的编译环境(GO 1.5+)。 请参考项目中的Dockerfi...阅读全文

基于filebeat二次开发Kubernetes日志采集

目前最为主流的容器编排工具主要有kubernetes、mesos、swarm,个人不评价谁好谁坏因为每个东西都有自己的优势。不过个人认为目前关注度最高的应该当属kubernetes,现在越来越多的公司采用kubernetes作为底层编排工具开发自己的容器调度平台。既然是一个PAAS平台那么就应该提供一个计算监控等一体的服务,因为是在kubernetes运行上面的容器大多数都是无状态服务,所以统一的日志管理又是其中必不可少的一部分。下面我们就讲一下如何基于filebeat开发属于自己的日志采集。 目前用的最多的日志管理技术应该是ELK,E应该没有太多的疑问基本上很多公司都是采用的这个作为存储索引引擎。L及logstash是一个日志采集工具支持文件采集等多种方式,但是基于容器的日志采集又跟传统的...阅读全文

博文 2017-09-06 07:05:57 YiQinGuo

2016年这9大开发趋势预测你还不知道就out了

从容器到NoSQL再到Spark,这些趋势在可预计的2016年还会持续下去。我的预测主要针对大数据范畴,但我试图尝试突破自己,仅供参考。 ### 开发趋势一:容器将统治世界 Docker将继续发展,并获得安全特性,而且添加各种形式的治理,这样你将不能摧毁依赖于pnwd.com的容器之树。模拟一整台机器在另一台机器之上的想法从根本上来说是极其奢侈的。Solaris zones是一个好主意;在Linux之上拥有打包格式的Solaris zones是一个更好的主意。 ### 开发趋势二:Java语言将加速衰落 每当我提到Java在衰落,有人总是把网上找工作的趋势图拿来辩解。尝试其他按钮,查看一下当前的工作趋势。是的,有非常多的人在用Java……但是你们想过没有,做维护的人更...阅读全文

golang语言特性

1.包括的golang特性 Godeps vendor _ 下划线 2.Godeps golang1.1版本之后,有了godep依赖管理工具,项目下新加了Godeps文件夹,其中含有项目依赖的包,记录包依赖的文件为Godeps.json,下面是一个例子,该例子为distribution2.1项目的Godeps,在github.com/docker/distribution可以直接用github.com/spf13/cobra中的结构而不用导入,可见ImportPath下的包可以直接调用Deps下含有的包: { "ImportPath": "github.com/docker/distribution", "GoVersion": "go1.4.2", "Packages": [ "./......阅读全文

博文 2015-11-09 15:00:03 yuanfang_way

20160226: 招golang 分布式平台开发工程师(Docker相关) 上海 (2名)

我们是专门为国内大金融(银行,交易所,保险公司,证券)和电信提供开源解决方案和服务的专业团队。公司技术团队都是热爱开源,长期做开源工作的工程师。 非常感谢我们这个专业社区, 经过2年的努力,我们终于开发出了基于golang 和docker底层技术的面向金融行业的分布式平台。并且作为国内领先的团队,在超大型金融企业的项目中落地,真正发挥了golang的的威力。 随着业务良好的扩展,我们开始扩展团队,这次仍旧在上海总部招聘 2位golang 开发工程师 招聘情况如下,喜欢golang , 分布式和开源技术的小伙伴快来加入我们把。 工作地点: 上海 职位描述: 分布式平台开发工程师 薪酬范围:12k-20k, 13个月 (薪酬级别依照开发经验设置。另外由于我们过去一年已经有...阅读全文