zoukankan      html  css  js  c++  java
  • fabio 安装试用&&实际使用的几个问题

    备注:
       因为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
     
  • 相关阅读:
    26 转义符 re模块 方法 random模块 collection模块的Counter方法
    25 正则表达式
    24 from 模块 import 名字
    24 from 模块 import 名字
    24 from 模块 import 名字
    23 析构方法 items系列 hash方法 eq方法
    21 isinstance issubclass 反射 _str_ _new_ _len_ _call_
    20 属性, 类方法, 静态方法. python2与python3的区别.
    python(1)
    python之字符串格式化
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/8443303.html
Copyright © 2011-2022 走看看