备注:
   因为fabio 依赖consul vault (不是强需),启动之前需要先安装consul,
   本次为了简单consul 使用的是单机,使用的是dev 模式
 
1. conusl 安装&&启动
wget  -O consul_1.0.1_linux_amd64.zip https://releases.hashicorp.com/consul/1.0.1/consul_1.0.1_linux_amd64.zip?_ga=2.266211915.599626352.1512025497-95808125.1504594004
unzip consul_1.0.1_linux_amd64.zip
cp consul /usr/bin nohup consul agent --dev &
 
 
2. fabio 安装&&启动
https://github.com/fabiolb/fabio/releases 地址下载对应的版本
nohup fabio &
 
 
 
3.  配置使用
备注:参考官方的demo (go)

a. get code
go get github.com/fabiolb/fabio cd $GOPATH/src/github.com/fabiolb/fabio/demo b. build
go build
c. run
./server -addr 127.0.0.1:5000 -name svc-a -prefix /foo
 
 
参考运行界面
 
4. 官方demo 的几个问题,以及实际需要注意的
实际系统中我们可能会存在比较多的系统故障,比如consul 集群故障,fabio 故障,服务故障,目前存在以下几个问题
a. 服务宕机
这个比较简单,问题不大,重新起来进行注册就可以了
b. fabio宕机
这个就有问题了,实际上我们应该多个节点,简单故障
c. consul 宕机
fabio 不受较大影响(因为cache),新服务不能注册,以前的可以使用,但是此时consul 起来之后,需要进行服务注册的重试,不然consul旧的服务是没有的
假如此时使用了lb 或者类似工具解决ha 以及负载均衡问题,旧会出现数据一致性的问题,实际上可能需要确保,数据的一致性 备注:上面的分析也是从部分极端情况下设想的,但是实在分布式系统中,一切皆有可能,因为可能会触连锁反应,所以还是最好规划,以及有对应的解决方案
方法
 
5. 参考资料
https://github.com/fabiolb/fabio
 
 
 
 
 

fabio 安装试用&&实际使用的几个问题的更多相关文章

  1. 项目管理工具 Redmine 安装试用手记

    原文:项目管理工具 Redmine 安装试用手记 项目管理工具 Redmine 安装试用手记 分类: Redmine2009-06-01 10:12 996人阅读 评论(1) 收藏 举报 项目管理工具 ...

  2. Tencent Server Web 安装试用

    Tencent Server Web 安装试用 私有环境搭建,使用docker-compose 进行memcache 安装 参考github 代码 https://github.com/rongfen ...

  3. toxiproxy 安装试用

    备注:    实际上是一个代理工具,但是又不是简单的进行代理(tcp,可以配置策略,toxics 实现延迟,模拟故障,    对于这个大家可能了解的就是netflix 公司的chaos monkey, ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. windows openssh server 安装试用

    使用Windows的可能会知道win10 的已经包好了openssh 服务,但是对于其他机器win 7 windows 2008 ,就需要其他的方法了 还好powershell 团队开发了支持wind ...

  6. pgbench 安装试用

    pgbench 是一个方便的pg 性能测试工具,以下是简单的测试试用 安装 安装pg yum install https://download.postgresql.org/pub/repos/yum ...

  7. flynn 开源paas 平台安装试用

    flynn 是一个不错的开源paas 平台,基于git 以及容器技术,开发模型与 heroku 基本一样,同时构建方式就是基于heroku 的buildpacks 安装 官方文档提示说明是ubuntu ...

  8. nsq 安装试用

    因为是mac 系统安装试用brew install nsq 安装 brew install nsq 组件说明 nsqd 守护进程进行消息的接受,缓存以及传递消息给客户端,需要配置nsqlookupd地 ...

  9. apache phoenix 安装试用

    备注:   本次安装是在hbase docker 镜像的基础上配置的,主要是为了方便学习,而hbase搭建有觉得   有点费事,用镜像简单.   1. hbase 镜像 docker pull har ...

随机推荐

  1. c# 计算中文字节数与JAVA不符的解决方法

    c# 中方法 string str = "中华人民共和国"; int strLen = System.Text.Encoding.Default.GetByteCount(str) ...

  2. 24.Java中atomic包中的原子操作类总结

    1. 原子操作类介绍 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchr ...

  3. 十八 Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式

    我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/env python # -*- coding:utf8 -*- from scrapy.cmdline import ...

  4. h5开发中,利用微信或者QQ登陆以后获取用户头像在canvas画布显示问题

    在实际开发上先的h5页面产品中,总会遇到各种坑,好多坑都是安卓和iPhone端兼容的问题(用电脑谷歌浏览器输入  chrome://inspect/#devices可以用手机USB调试,打开) eg: ...

  5. [Eclipse]Eclipse快捷键

    查看一个方法被谁调用:选中方法名字,Search-->Reference-->Workspace

  6. 【cf 483 div2 -C】Finite or not?(数论)

    链接:http://codeforces.com/contest/984/problem/C 题意 三个数p, q, b, 求p/q在b进制下小数点后是否是有限位. 思路 题意转化为是否q|p*b^x ...

  7. lvs fullnat部署手册(一)fullnat内核编译篇

    标签:kernel rpm lvs fullnat 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://shanks.blog.51c ...

  8. 使用Apache的ab工具进行网站性能测试

    Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便. ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n ...

  9. jquery设置控件位置的方法

    纯JS写法,代码如下: document.getElementById("child").style.left="800px";document.getElem ...

  10. 一个浮动 css3效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...