package api

import (
    "github.com/030io/whalefs/master"
    "fmt"
    "encoding/json"
    "bytes"
    "net/http"
    "io/ioutil"
)

func Heartbeat(host string, port int, vms *master.VolumeManagerStatus) error {
    url := fmt.Sprintf("http://%s:%d/__heartbeat", host, port)
    body, err := json.Marshal(vms)
    reader := bytes.NewReader(body)
    resp, err := http.Post(url, "application/json", reader)
    if err != nil {
        return err
    }
    defer resp.Body.Close()

    if resp.StatusCode != http.StatusOK {
        body, _ = ioutil.ReadAll(resp.Body)
        return fmt.Errorf("%d != 200  body: %s", resp.StatusCode, body)
    }
    return nil
}

heartbeat.go的更多相关文章

  1. heartbeat在yum系发行版本的处理资料

    centos 安装包[rpm]和光盘iso文件 http://mirror.centos.org/centos/ 对应如上包的代码 http://vault.centos.org/ git.cento ...

  2. Heartbeat使用梳理

    在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为"双机热备", &qu ...

  3. Linux-HA实战(1)— Heartbeat安装

    接触Heartbeat主要是因为之前项目中使用了TFS,最近想给nameserver做HA,因为TFS官方用的Heartbeat,所以刚好了解下,参考了网络上很多内容,这里简单记录下. 内容 环境和软 ...

  4. pacemaker+corosync/heartbeat对比及资源代理RA脚本

    一.Pacemaker概念 (1)Pacemaker(心脏起搏器),是一个高可用的群集资源管理器.它实现最大可用性资源管理的节点和资源级故障检测和恢复,通过使用首选集群基础设施(Corosync或He ...

  5. 物联网平台设计心得:管中窥豹之HeartBeat

    前言 在写这篇文章之前,我曾对HeartBeat做过诸多的研究,也做过诸多的项目,在这些项目中,有客户端为了维持状态,而定时向服务端发送的HeartBeat:有服务端为了维持客户端连接状态而处理Hea ...

  6. 5 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之生产环境下drbd裂脑处理

    preface 公司的业务变更,导致服务器要搬迁,所以需要关闭服务器,然后到新地在开启服务器. 关机前确定drbd+heartbeat+mysql是正常使用的,没有异常,Heartbeat和drbd都 ...

  7. Heartbeat+DRBD+MySQL高可用方案

    1.方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证.默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自 ...

  8. 闲说HeartBeat心跳包和TCP协议的KeepAlive机制

    很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个数据包,通知服务器自己仍然在线,并传输一些可能必要的数据.使用心跳包的典型协议是IM,比如QQ/MSN/飞信等协议. ...

  9. heartbeat重要文件的配置参数说明

    主要三个重要的文件:ha.cf, authkey, haresource 1)ha.cf的重要参数的说明: 参数 说明 debugfile  /var/log/ha-debug           h ...

  10. (heartbeat与KeepAlived)

    总拓扑图 两种实现方式: 实验一. LVS+heartbeat+ldirectord实现集群负载: 1.在主Director Server上和备用Director Server上分别安装heartbe ...

随机推荐

  1. "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no freetype in java.library.path

    Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no freetype in java ...

  2. 一个你不能错过的第三方.net集合库

    今天查找资料的时候,偶然发现了一个第三方的面向.net的集合类库,相比较FCL中的集合类,此第三方集合类库更全,最基本的Set数据结构在FCL里面是没有的,但是这个类库里面有,而且此类库的作者就是&l ...

  3. 简单poi创建execl

    Workbook workbook = new HSSFWorkbook();// 创建一个Excel文件 Workbook workbook = new XSSFWorkbook();// 创建一个 ...

  4. 初步认识thymeleaf:简单表达式和标签(一)

    初步认识Thymeleaf:简单表达式和标签.(一)   本文只适用于不会Java对HTML语言有基础的程序员们,是浏览了各大博客后收集整理,重新编辑的一篇文章,希望能对大家有所帮助.最后本文如果有哪 ...

  5. Group Anagrams 群组错位词

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  6. 一步一步设置Joomla!开发环境

    转载自:http://h2appy.blog.51cto.com/609721/373414 虽然是英文,可是写的非常浅显易懂,再配合截图,更是明了. http://docs.joomla.org/S ...

  7. Django1.6版本的PG数据库定义手动升级

    Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...

  8. 使用Rapidxml读取xml文件

    现有xml文件如上,写在一个string中.需要获取节点上元素的类别和属性信息,并存储到结构体表中. 结构体如下: 得到的结果如下:

  9. 分享一个开源的网盘下载工具BaiduPCS-Go

    大家在使用网盘的时候,一定忍受不了限速下载的速度.今天给大家分享一个开源的网盘下载项目BaiduPCS-Go.Go语言编写,仿 Linux shell 文件处理命令的百度网盘命令行客户端.多平台支持, ...

  10. java线程之创建线程类

    1.extends Thread方法 class Person extends Thread { int sum1 = 50; // 含参构造器 public Person(String name) ...