我们只实现两个需求 * master选举,当master切换后需要收到通知 * 注册服务信息 注册到zookeeper上的目录结构如下: /myproject 项目顶层节点 /myproject/master 临时节点,用...

阅读全文 »

什么是Apache ZooKeeper Apache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据。ZooKeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务。 ZooKeeper提供的常见服务如下 : * 命名...

阅读全文 »

showapi.com提供了很多有意思的api,现在用go语言简单的封装下就可以用了。url的组装规则见[文档](https://www.showapi.com/helpcenter/go/sign) 目前提供了三个接口 * 获取组装后的url * http请求返回字符串 * htt...

阅读全文 »

get和post请求使用比较频繁,这里只考虑json格式,做一下简单封装。 get请求 func HttpGetJson(url string, resp interface{}) error { result, err := http.Get(url) if err ...

阅读全文 »

corosync简介 Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程,corosync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以说corosync是OpenAIS的一部分,但后面的发展明显超越了官方最初的设想,越来越多的厂商尝试使用c...

阅读全文 »

linux下常用解压缩命令 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或...

阅读全文 »

给本网站加了一个第三方github登录的功能 在github上新建oauth app * 登录github,在用户菜单中选择Settings->Deleloper settings->OAuth Apps->New OAuth App * 记住Client ID,Client Secr...

阅读全文 »

![](http://next.ningto.com/upload/ACC327DFE0D5328C1AD102179C70B641.gif)...

阅读全文 »

超实用的 Nginx 极简教程,覆盖了常用场景 概述 -- **什么是 Nginx?** **Nginx (engine x)** 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 ![](https://pic1...

阅读全文 »

分支操作 git checkout -b dev origin/dev 切换到dev分支并跟踪 git branch 创建分支 git branch -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列表 git bra...

阅读全文 »

> 来源:Linux中国/HankChow > 原文作者:Sandra Henry-stocker 巧妙的 Linux 命令行技巧能让你节省时间、避免出错,还能让你记住和复用各种复杂的命令,专注在需要做的事情本身,而不是你要怎么做。以下介绍一些好用的命令行技巧。 命令编辑 如果...

阅读全文 »

**数据分析与开发** 微信号 DBDevs 功能介绍 「数据分析与开发」分享数据分析与开发相关技术文章、教程、工具 _1周前_ (给数据分析与开发加星标,提升数据技能) > 作者:blackheart, > > www.cnblogs.com/li...

阅读全文 »

VirtualBox Centos6 安装增强功能设置共享文件夹 安装必要的工具 yum -y update yum -y install g++ gcc gcc-c++ make kernel-* yum -y install bzip2* yum -y perl ...

阅读全文 »

用dep ensure安装第三方库的时候总是失败,提示golang.org超时,如果不用代理的话肯定是访问不了的,但是我本地已经开了pgfastss代理而且浏览器上可以访问golang.org,后来调查了下,发现命令行是不能代理的即使开启了全局模式。 > 下面方法是用我自己的代理,设置起来比较...

阅读全文 »

由于go是静态强类型语言,不像JavaScript那样是动态语言,所以解析json的时候要先定义好解析后的结构体。 以获取豆瓣电影信息接口为例,地址如下: http://api.douban.com/v2/movie/top250?start=0&count=2 应答结...

阅读全文 »

简单封装了下go log,四个日志等级,能满足基本业务需求,通过github.com/robfig/cron可以每天生成一个日志文件 package logger import ( "io" "log" "os" ) const ( LTrace = i...

阅读全文 »

go工作池,类似如线程池,不断的往池子里丢任务,池子开启多个线程不断的处理任务。go这里其实只是对go chan defer的简单封装。 work/main.go package work import "sync" type Pool struct { wg ...

阅读全文 »

队列是一个先进先出的数据结构,go语言实现一个队列,为了通用队列的元素使用了interface,通常一个队列有如下方法: * Push:向队列尾部压入一个元素 * Pop:从队列头部弹出一个元素 * Front:获取队列头部元素 * Size:队列的长度 package qu...

阅读全文 »

连接池使用场景如数据库连接,通常为了平衡性能和资源会建立多个数据库连接,将他们放到一个池子中,需要的时候从池子里面取,用完了再归还给池子,如果池子里的资源不够会创建新资源,尽量要避免新建资源的速度大于池子的大小,池子的大小要在获取资源和归还资源之间做到平衡最好, 这样才能避免了频繁的建立和销毁资源,...

阅读全文 »

golang排序写法还是蛮简洁的,不管是简单类型还是复杂的结构,倒序排序的时候可能有点奇怪不知道为什么这样设计 package main import ( "fmt" "sort" ) type Person struct { Name string A...

阅读全文 »

鄂ICP备17003086号. Copyright © 2016. All Rights Reserved.