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
     
  • 相关阅读:
    转:深入 AngularUI Router
    angularJS $scope的$apply方法实现model刷新
    CSS 如何让 height:100%; 起作用
    【AngularJs】---$sce 输出Html
    angular 组件之间传值
    kendo Grid 列添加自定义模板
    关于“内控点”
    关于总结
    咏春
    一只老鼠夹
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/8443303.html
Copyright © 2011-2022 走看看