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

监听端口号后修改代码,重新run 后,发现还是原来的程序,换端口后有效

```go package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", handler) http.HandleFunc("/hello", hello) http.ListenAndServe("localhost:8884", nil) } func handler(w http.ResponseWriter, req *http.Request) { req.ParseForm() if len(req.Form["name"]) > 0 { fmt.Fprint(w, "你好,", req.Form["name"][0]) } els...阅读全文

k8s1.9.2基于kubeadm高可用安装教程,包含离线安装包,支持简单快速安装

使用kubeadm安装安全高可用kubernetes集群 安装包地址 如非高可用安装请忽略此教程,直接看产品页的三步安装。 单个master流程: 解压后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因为脚本用的相对路径所以不再当前目录会找不到文件) 在node上 cd shell && sh init.sh 。然后在node上执行master输出的join命令即可 提前准备 假设构建一个3master+2node的k8s集群,需要5台节点共同的条件如下: (yum install -y docker是1.12.6版本需要改cg)17.06安装教程: #0.删除老旧的 $ yum remove -y docker* #如果默认之前yum...阅读全文

博文 2018-02-11 16:34:40 fanux

go 用结构解析XML

结构定义如下,在tag中写明在xml中的映射关系。可以是子节点,也可以是属性,还可以是chardata。当然,结构的成员必须是大写字母打头的,对外可见。多层节点可以用大于号连接,如“onentry>action”。用chardata时,tag为`xml:”,chardata”`。 // state machine for unmarshal json type stateMachine struct { Defaultstate bool `xml:"defaultstate,attr"` Initialstate string `xml:"initialstate,attr"` Timeoutstate string `xml:"timeoutstate,attr"` States []s...阅读全文

博文 2016-02-10 18:00:01 logsharp

golang 好项目

1.moby/moby docker的新马甲 2.kubernetes/kubernetes 分布式容器管理 3.grafana/grafana 一个可视化面板,有漂亮的仪表盘,多种数据来源,适合做系统监控 4.coreos/etcd 集群共享信息,服务与发现 5.astaxie/beego 一个快速开发Go应用的http框架 6.gin-gonic/gin 同上 7.prometheus/prometheus 系统监控和报警工具 8.drone/drone 用于CD(Continuous Delivery) 9.mattermost/mattermost-server 类似slack或者钉钉 10.nsqio/nsq 类似rabbitmq,首选kafka? 11.containous/tr...阅读全文

博文 2019-04-04 20:34:39 messy_code

golang map实例·

>map是一堆键值对的未排序集合,比如以身份证号作为唯一键来标识一个人的信息 ```golang package main import "fmt" type PersonInfo struct { ID string Name string Address string } func main() { // 定义一个PersonInfo类型的map变量 var personDB map[string] PersonInfo personDB = make(map[string] PersonInfo) // 往这个map里插入几条数据 personDB["12345"] = PersonInfo{"12345", "...阅读全文

无服务器的微服务平台 IronFunctions

## IronFunctions IronFunctions是无服务器的微服务平台。 * 一次写入 * [适合所有语言](https://github.com/iron-io/functions/blob/master/docs/faq.md#which-languages-are-supported) * [支持 AWS Lambda 格式](https://github.com/iron-io/functions/blob/master/docs/lambda/README.md) [随时运行](https://github.com/iron-io/functions/blob/master/docs/faq.md#where-can-i-run-ironfunctions)...阅读全文

开源项目 2016-11-17 15:00:06 iron-io

使用 Etcd 和 Haproxy 做 Docker 服务发现

使用 Etcd 和 Haproxy 做 Docker 服务发现 标签(空格分隔): Etcd Haproxy Docker 服务发现 architecture discovery docker-gen golang service 本文作者是 jwilder,本文的原文是 Docker Service Discovery Using Etcd and Haproxy 在前一篇文章中,我们展示了一种为 Docker 容器在同一台主机上创建一个自动化 Nginx 反向代理的方式。那个设置对于前端 web app 来说工作的很好,但是对于后端服务来说它不是一个好的点子,因为通常它们跨越多个主机。 这篇文章描述了一个为后端服务的 Docker 容器提供服务发现的解决方案。 我们将构建的架构体系是模仿...阅读全文

博文 2017-02-09 13:42:32 yexiaobai

煎鱼换公众号啦。

大家周末好呀,我是煎鱼,由于现在这个公众号(煎鱼说)并没有留言功能,在互动交流方面总感觉缺了一块,一直觉得比较遗憾。 因此从今天起我将正式换到我的新号(我要煎鱼说)去开更了,欢迎大家再次关注我,新号的二维码如下: 感谢你的再次关注,如果你身边也有朋友关注了我,欢迎周知一下。 又要重新开始了,想想就激动...阅读全文

博文 2019-09-22 12:02:38 煎鱼

2017 年度小结(Golang、错误处理、服务状态页等)

从今年年初开始,我就尝试在业余时间和一个朋友开发一个容器平台,更多地是实验一些新的技术,也希望能够通过它将自己的一些小应用管理起来,在基本完成后可能会考虑开源。之所以说是实验是因为我选择了一个我几乎完全不了解的技术栈:主要编程语言是 Golang、只使用 Etcd 作为数据库、基于 Docker Swarm 管理容器。 不得不说 Golang 是一个非常难用的语言,在语言层面,为了所谓的「简单」而没有添加 异常 和 泛型 这两个对于高级编程非常重要的特性;在生态上仍没有统一出一个包管理器,如果只发布编译好的二进制程序倒是没问题,但如果发布源代码的话,缺少统一的包管理会带来很多麻烦,以至于很多开发者选择将 vendor 直接包含在版本控制中。 在这个项目中,没有异常和泛型真的给我带来了很大的困...阅读全文

博文 2018-01-18 18:34:37 王子亭

一个go-micro的demo

go-micro-微服务框架 ### 启动etcdv3集群 这里我用两台机器三个节点([192.168.3.45:2379, 192.168.3.45:2479], [192.168.3.118:2379]) #### node1 ```bash etcd --name cd0 \ --initial-advertise-peer-urls http://192.168.3.45:2380 \ --listen-peer-urls http://192.168.3.45:2380 \ --listen-client-urls http://192.168.3.45:2379 \ --advertise-client-urls http://192.168.3.45:2379 \ --init...阅读全文

博文 2019-06-21 18:24:58 weiwenwang

Go语言的网络功能太强了,这么多项目。。。

Centrifugo 是一个用 Golang 实现的基于 Websocket 或者 SockJS 的实时通信平台。https://www.oschina.net/p/centrifugalrpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架,基于Golang net/rpc实现。https://www.oschina.net/p/rpcxTraefɪk 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) ,可以对配置进行自动化、动态的管理.Golang编写,单文件部...阅读全文

博文 2017-10-04 00:00:01 findumars

【Docker实战】Dockerfile多阶段构建原理

Docker 17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令。这样做有什么意义呢?老版本Docker中为什么不支持多个 FROM 指令在17.05版本之前的Docker,只允许Dockerfile中出现一个FROM指令,这得从镜像的本质说起。在《Docker概念简介》 中我们提到,你可以简单理解Docker的镜像是一个压缩文件,其中包含了你需要的程序和一个文件系统。其实这样说是不严谨的,Docker镜像并非只是一个文件,而是由一堆文件组成,最主要的文件是 层。Dockerfile 中,大多数指令会生成一个层,比如下方的两个例子:# 示例一,foo 镜像的Dockerfile# 基础镜像中已经存在若干个...阅读全文

博文 2018-09-03 20:34:58 脉冲云DevOps

跨平台自启动设置小工具autostart

开源的自启动设置小工具,跨平台,使用方式统一,兼容 windows、mac、linux 桌面版,特别适用于需要开机启动的跨平台程序调用,实现自启动,屏蔽了麻烦的平台判断和启动方法研究。 On linux and mac , the command is autostart. On windows , the command is autostart.exe. _**linux&mac**_ help: _**windows**_ help: 2.Disable Application autostart. _**linux&mac**_ help: _**windows**_ ...阅读全文

snowflake算法可以指定各域位数的改进版

snowFlake算法在生成ID时特别高效,可参考:https://segmentfault.com/a/1190000011282426 它可以保证: * 所有生成的id按时间趋势递增 * 整个分布式系统内不会产生重复id(因为有datacenterId和workerId来做区分) 但在在某下场影下dataCenterId、workerId并不需要占那么多的位,或是机器没那么多。自己就写了一个各个域的位可以自定义设置的。 https://github.com/liuyongshuai/goSnowFlake ``` /** * @author Liu Yongshuai * @package goSnowFlake * @date 201...阅读全文

博文 2018-02-01 17:52:29 liuyongshuai

go语言gRPC负载均衡库grpc-lb的使用

grpc-lb采用客户端进程内负载均衡方式,支持随机、轮询、一致性哈希三种负载均衡策略,并支持服务端权重。可采用etcd或consul作为注册中心。 项目地址:https://github.com/liyue201/g... 基本架构如图,服务提供者起来后向注册中心注册自己的信息,ip、端口、权重等,并保持心跳。客户端监听注册中心,获取服务器列表,一旦服务器发生变化,客户端马上更新本地的服务器列表。客户端每个请求都通过负载均衡策略选择一个合适的服务器去访问。 随机负载均衡客户端例子: package main import ( etcd "github.com/coreos/etcd/client" grpclb "github.com/liyue201/grpc-lb" "github.c...阅读全文

博文 2017-08-03 06:34:59 stirling

kubeadm源码分析(kubernetes离线安装包,三步安装)

k8s离线安装包 三步安装,简单到难以置信 kubeadm源码分析 说句实在话,kubeadm的代码写的真心一般,质量不是很高。 几个关键点来先说一下kubeadm干的几个核心的事: kubeadm 生成证书在/etc/kubernetes/pki目录下 kubeadm 生成static pod yaml配置,全部在/etc/kubernetes/manifasts下 kubeadm 生成kubelet配置,kubectl配置等 在/etc/kubernetes下 kubeadm 通过client go去启动dns kubeadm init 代码入口 cmd/kubeadm/app/cmd/init.go 建议大家去看看cobra 找到Run函数来分析下主要流程: 如果证书不存在,就创建证书...阅读全文

博文 2018-05-25 16:34:44 fanux

gRPC源码/服务发现

代码 GitHub - messixukejia/grpc-wrapper: wrapper of grpc 关键数据结构 流程处理 关键流程图 1、客户端开工阶段从etcd获取所有服务端地址,并watch服务端变更。2、服务端变化,推送给watch的客户端。3、服务端开工阶段,将自己的地址信息put到etcd。 服务端 1、向ETCD建立客户端连接:etcd.New。2、创建ETCD注册器:NewEtcdRegisty,用于与ETCD的交互,例如注册服务地址等。3、建立grpc server,并注册相应的服务。4、启动server,并将自己服务信息通过etcdRegistry.Register向ETCD注册,在监听客户端连接强求,处理相应业务。 客户端 1、向ETCD建立客户端连接:etc...阅读全文

博文 2018-06-11 21:34:38 蓝白狂想

vscode 调试golang web application

1.配置tasks.json{"version": "0.1.0","command": "go","isShellCommand": true,"showOutput": "always","args": ["run","${file}"],"isBuildCommand": true,"taskSelector": "/t:"}2.配置launch.json{"version": "0.2.0","configurations": [{"name": "debug","type": "go","request": "launch","mode": "debug","remotePath": "","port": 8080,"host": "127.0.0.1","program": "$...阅读全文

博文 2017-09-29 22:04:55 刀鳅

Prometheus实战--Uber背书的存储解决方案M3

前言 前面我们一直在做prometheus的远程存储的工作,一直缺乏一种大厂背书的解决方案。具体可能有下面的几点: 大厂背书且开源 可承接大规模海量metrics 非weave cortex这种对prometheus原有方案改动特别大,即可以单独升级prometheus。 可喜可贺,Uber开源了他们针对prometheus存储解决方案M3,包括诸多组件。 M3 摘要 为了促进优步全球运营的发展,我们需要能够在任何特定时间快速存储和访问我们后端系统上的数十亿个指标。作为我们强大且可扩展的指标基础架构的一部分,我们构建了M3,这是一个已在优步使用多年的指标平台。 M3可以在较长的保留时间内可靠地存储大规模指标。为了向更广泛的社区中的其他人提供这些好处,我们决定开放M3平台作为Prometheu...阅读全文

博文 2018-08-09 15:34:58 iyacontrol

golang实现Elasticsearch做短信查询统计

1.golang操作ES需要用到的第三方包 拉取地址: gopkg.in/olivere/elastic.v5 目前有v6 我用的ES是5.4.1所以用V5版本 官方有文档可以看一下API。 2.为啥要用ES做查询? 众所周知数据放进数据库(mysql.....)也可以进行查询,可以对数据进行筛选条件查询出想要的数据,那么为啥不用mysql,无非就是查询速度慢,ES查询是通过Lucene的倒排索引技术而关系型数据库用的是b-tree,b-tree索引是为写入优化的索引结构,可以下来看一下这两个技术对比一下。 3.实战我这里给个例子统计短信 func AggsSendMessage(p *pb.AggsSendMessageRq) (items *pb.AggsMessageItemRp, e...阅读全文

博文 2018-10-19 13:34:40 毛毛虫de一生

[上海宝山] 后端开发&Golang开发求贤

我们是一家年轻创业公司,年轻人的氛围,一流学习环境。 技术和思想交流的理想平台。 创新产品项目发源地 [我们能提供的] 1 、丰厚福利待遇,还有轻松的办公环境,免费食品,节日奖金; 2 、充分的技术交流平台; 3、 前沿的新技术使用,经验积累。 以下是招聘职位描述: 薪资待遇:15k~30k 职位描述: 负责金融科技产品开发,后端系统研发工作 任职要求: 1、本科或以上学历,计算机、数学等相关专业; 2、有Golang后端开发经验,或者对Golang充满兴趣; 3、熟悉Linux、UNIX系统优先; 4、熟悉C、C++、JAVA开发经验优先考虑; 5、欢迎新人加入!!! 联系方式: QQ: 86244962 邮箱:wanglq@hui...阅读全文

Go语言开发分布式任务调度(更新到第三章)

微信号:new_video qq号码:2381392963资料来源网络,仅供学习使用,请勿传播。如有侵权,请联系删除。课程介绍:Golang因其强大的协程机制,现已广泛应用于解决分布式环境下的高并发问题。本门课程中将结合Etcd与MongoDB实现一个基于Master-Worker分布式架构的任务调度系统。你不仅将.....阅读全文

博文 2019-07-15 04:02:40 天天向上学习

CSDN VIP如何添加自定义栏目

几个月前我也开始在csdn上开了博客,一来给自己加几个少的可怜的流量,再者,让公众号的原创文章获得更多的曝光,让有需要的同学看到。 写过csdn博客的同学都知道,默认只有打赏c币功能;也没有专门广告位;引导栏目,只有侧栏csdn自己的引导二维码。 如何在csdn自定义栏目,加赞赏功能,或者其他等引导,让读者能很直观的看到,而不是在每篇文章加,增加自己工作量。这个功能以前对所有用户开放,但是很不幸,这功能被CSDN下架了,看下图: 我也是之前为了给读者下载CSDN资料开了VIP,目前还有400次下载,为了限制,每天有8个免费下载名额,需要的可以扫码关注公众号,在后台回复【2】加我代下载。 鼠标放到头像处,点击下拉框中的【管理博客】>> 点击侧栏的【博客模块管理】 只能添加一条自定义栏目,栏目内...阅读全文

博文 2019-10-16 00:02:41 小碗汤

互融云开发数字货币永续合约交易系统-搭建虚拟币永续合约交易平台

互融云开发数字货币永续合约交易系统-搭建虚拟币永续合约交易平台互融云从事虚拟货币智能永续合约产品定制开发,提供区块链智能永续合约APP方案,提供区块链智能永续合约解决方案,专业从事数字货币智能永续合约外包开发等。互融云作为国内领先的数字资产交易所系统开发商,用实际行动践行着安全创新可信赖的理念,前进的脚步从不停歇。在合约产品上,凭借着深厚的底蕴经验加完美的交易机制,互融云合约交易系统已经成为企业手中必不可少的亮点产品,永续合约交易系统便是其中之一:系统特点经过多轮测试,保证了K线的稳定性永续合约采用的是springboot提供微服务,合约账户进行了加密,确保资金安全通过专用的golang脚本稳定高效的抓取和修复k线数据通过多线程和特有算法以及专用并发锁来快速及时的计算并分析风险率并进行相应的...阅读全文

博文 2019-08-28 12:32:44 北京互融时代

币币交易能够减少成本方便快捷的兑换你想要的数字资产

数字资产是一个比较大的概念,币币交易平台主要是针对区块链数字资产之间的币与币之间的快捷兑换,减少用户的投资成本和时间成本。作为区块链技术的第一个实际应用场景,数字资产交易平台在很大程度上是在对区块链技术特点的推广,因此数字资产交易平台一直是数字资产的有力助手。玩家想要进入币圈就先要从购买数字资产开始。在进入“币圈交易”之前,想要购买数字资产有两个途径:1、找熟人购买 2、上平台用户可以通过 OTC 场外交易来完成法币与数字资产的兑换。场外法币交易类似于淘宝的 C2C 平台,用户直接与用户交易,而平台则作为担保方。找熟人购买的这种情况到目前为止是比较少的。所以就会上平台购买,因为在2017年九四之前是用法币交易(直接用法币购买数字资产,平台坐庄)。而在九四之后法币交易直接演变成了币币交易和场外...阅读全文

博文 2019-10-28 16:28:03 yanfaruiec

Golang 通过 Consul 实现分布式锁

Consul 是什么 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对. 命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品. 一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ACL 访问控制. Consul 的使用场景 docker 实例的注册与配置共享 coreos 实例的注册与配置共享 vitess 集群 SaaS 应用的配置共享 与 confd ...阅读全文

博文 2017-02-10 04:28:44 谢权

关于iris-api我的入门级结构

####入口:main.go ```go app := iris.Default() //启动iris服务 route.InitRouter(app) //进入路由 app.Run(iris.Addr(“:8080”)), iris.WithoutServerError(iris.ErrServerClosed)) //设置端口号 ``` ####路由: route.go ```go func InitRouter(app *iris.Application) { g := controllers.NewIamController() //连接控制器层 app.Get("/xx/xx", g.xxx) //根据url调用 app.Post("/xx/xx", g.xxx) } ``` ###...阅读全文

博文 2019-11-12 09:29:27 jkal789

【段子手专业详解】Kubernetes如何使用kube-dns实现服务发现

时速云第十五期微信群直播分享新鲜出炉,本期有时速云工程师黄鑫为小伙伴们带来了关于“Kubernetes如何使用kube-dns实现服务发现”的技术分享,关于如何发现Pod提供的服务、如何使用Service发现服务,以及如何使用kube-dns发现服务这些让你蓝瘦香菇的问题,统统都有完整解答,以下奉上分享的文字版!(视频回放地址:http://t.cn/RVfbQG5) ## 大纲: • Kubernetes中如何发现服务 • 如何发现Pod提供的服务 • 如何使用Service发现服务 • 如何使用kube-dns发现服务 • kube-dns原理 • 组成 • ...阅读全文

互融云开发永续合约交易系统-搭建数币智能永续合约交易平台

互融云开发永续合约交易系统-搭建数币智能永续合约交易平台互融云作为国内领先的数字资产交易所系统开发商,用实际行动践行着安全创新可信赖的理念,前进的脚步从不停歇。在合约产品上,凭借着深厚的底蕴经验加完美的交易机制,互融云合约交易系统已经成为企业手中必不可少的亮点产品,永续合约交易系统便是其中之一:1)系统特点 经过多轮测试,保证了K线的稳定性 永续合约采用的是springboot提供微服务,合约账户进行了加密,确保资金安全 通过专用的golang脚本稳定高效的抓取和修复k线数据 通过多线程和特有算法以及专用并发锁来快速及时的计算并分析风险率并进行相应的处理,保证平台的利益 合约下单采用redis,rabbitmq来保证极速下单并确保资金无误2)全新安全体系 MD5+RSA加密:采用MD5+RS...阅读全文

博文 2019-08-16 15:32:58 北京互融时代

Etcd client golang example code

1. 监视某一个节点 watcher := kAPI.Watcher("workers/", &client.WatcherOptions{ Recursive: true, }) for { res, err := watcher.Next(context.Background()) if err != nil { log.Println("Error watch workers:", err) break } if res.Action == "expire" { member, ok := m.members[res.Node.Key] if ok { member.InGroup = false } } else if res.Action == "set" || res.Actio...阅读全文

博文 2016-08-23 22:00:03 htyu_0203_39

安装etcd

etcd是一个golang编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key-value)存储、配置共享和服务发现等功能。etcd可以用于存储关键数据和实现分布式调度,在现代化的集群运行中能够起到关键性的作用。 etcd基于raft协议,通过复制日志文件的方式来保证数据的强一致性。在etcd之前,常用的是基于paxos协议的zookeeper。 安装etcd CentOS yum install -y etcd 启动 # 设置开机自启动 $ sudo systemctl enable etcd # 启动etcd $ sudo systemctl start etcd # 查看etcd运行状态 $ sudo systemctl status etcd ● etcd.se...阅读全文

博文 2019-06-18 20:32:42 Will_4110

《Kubernetes集成外部服务实践》- 第三期Docker技术沙龙主题剖析系列【第一篇】

分享嘉宾:柴宗三,亚信大数据云平台部高级研发工程师。目前负责亚信DataFoundry大数据PaaS云平台。本文源自于3月12号《第三期Kubernetes沙龙》四个Topic之一,是《第三期kubernetes沙龙主题剖析系列·第一篇》。本文对如何将后端服务(backend service)接入kubernetes进行了比较详尽的介绍。 ### Part I. Kubernetes简介 Kubernetes不同组件的交互是异步的,不同组件负责不同的功能模块。Kubernetes集群目前为单master结构,一般情况下master节点上运行APIServer、kube-controller-manager、kube-scheduler、etcd,node节点上运行kubelet、...阅读全文

【滴滴招聘】golang开发工程师

滴滴出行社招—平台技术HR直招-- Golang开发工程师—北京 岗位职责: 1. 参与滴滴基础服务平台的设计、研发工作,提升滴滴产品稳定性; 2. 与产品经理尝试沟通产品需求; 3. 进行相关产品的技术文档编写,方案设计; 4. 学习研究业界先进技术,保持技术进步。 任职要求: 1. 本科及以上学历,计算机相关专业,两年以上服务端研发经验; 2. 深入理解计算机原理,有扎实的数据结构和算法基础; 3. 深入理解linux系统及其原理,熟悉TCP/IP、HTTP协议以及网络编程; 4. 良好的编码和文档习惯,对代码美感的追求孜孜不倦; 5. 精通Go/C/C++/Python等至少一门语言,有Go开发经验者优先; 6. 熟悉常用的sql、nosql(非关系型数据库)数...阅读全文

golang对etcd的简单操作

首先获取clientv3: go get go.etcd.io/etcd/clientv3 连接etcd: config := clientv3.Config{ Endpoints:[]string{"192.168.50.250:2379","172.16.196.129:2379"}, DialTimeout:10*time.Second, } client,err := clientv3.New(config) if err != nil { panic(err) } defer client.Close() kv := clientv3.NewKV(client) kv是一个用于操作kv的连接,其实它本质上是用了client的conn,为了更加专注于键值对的操作,关闭client后也...阅读全文

博文 2018-11-17 02:34:40 我的饭卡呢

golang 操作etcd租约以及监听kv变化

定义错误常量: const ( NewLeaseErr = 101 LeasTtlErr = 102 KeepAliveErr = 103 PutErr = 104 GetErr = 105 RevokeErr = 106 ) 创建client: var conf = clientv3.Config{ Endpoints: []string{"172.16.196.129:2380", "192.168.50.250:2380"}, DialTimeout: 5 * time.Second, } client, err := clientv3.New(conf) defer client.Close() if err != nil { fmt.Printf("创建client失败:\n", ...阅读全文

博文 2018-11-18 03:34:40 我的饭卡呢

使用go-micro时etcd不支持grpc v1.27.0

错误信息 github.com/coreos/etcd/clientv3/balancer/picker /root/go/pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions 这是由于版本不兼容导致 虽然etcd的主分支已经兼容,但是release的版本仍然没有更新,因此只能降级使用 解决方法 在go.mod 中加入 replace google.golang.org/grpc v1.27.0 => google.golang.org/grpc v1.26.0 代表强制使用v1.26.0版...阅读全文

博文 2020-03-11 17:32:59 旅行者xy

Micro In Action(六):服务发现

![Micro In Action](https://s1.ax1x.com/2020/03/28/Gkcgw6.png) > 本文作者:Che Dan > > 原文链接: 本文是[Micro](https://micro.mu/)系列文章的第六篇。我们将从最基本的话题开始,逐步转到高级特性。 今天来谈谈Micro中的服务发现。 ------ 本系列的第一篇文章曾提到,Micro以插件的形式支持多种服务发现系统。默认情况下,服务发现基于组播DNS(mDNS)机制, 无需任何配置,非常便于在开发环境中使用。 但是在生产环境中, 我们需要可靠性更高...阅读全文

博文 2020-03-28 15:05:49 polaris

Minikube:轻松创建单机版Kubernetes集群

**编者按:这是根据Kubernetes 1.3新功能写的一系列深入的文章,本文是第一篇。** 在管理容器化应用方面,Kubernetes是目前最好的工具之一,第一个能够应对生产环境的版本发布时间已经超过一年。然而,在搭建本地开发环境这块,一直处于缺失的状态。 为了改进这个现状,过去几个月,Kubernetes社区的几个开发者一直致力于GitHub上Minikube库的开发。我们的目标是在Mac、Linux和Windows上面使用一条命令就可以构建一个易于使用、高保真的kubernetes集群。 开发过程中,我们得到了很多社区成员的帮助,在这里向他们表示感谢,同时,我们很自豪地宣布:Minikube正式发布。这个版本原生支持kubernetes 1.3,增加了一些命令以便于...阅读全文

一篇文章带你了解Kubernetes安装

由于之前在阿里云上部署的Docker 1.12.2的Swarm集群没能正常展示出其所宣称的Routing mesh和VIP等功能,为了满足项目需要,我们只能转向另外一种容器集群管理和服务编排工具Kubernetes。 注:之前Docker1.12集群的Routing mesh和VIP功能失效的问题,经过在github上与Docker开发人员的沟通,目前已经将问题原因缩小在阿里云的网络上面,目前看是用于承载vxlan数据通信的节点4789 UDP端口不通的问题,针对这个问题,我正在通过阿里云售后工程师做进一步沟通,希望能找出真因。 Kubernetes(以下称k8s)是Google开源的一款容器集群管理工具,是Google内部工具Borg的“开源版”。背靠Google这个高大上的亲爹,k8s一...阅读全文

博文 2017-02-06 02:44:00 bigwhite