zoukankan      html  css  js  c++  java
  • 编译goreplay v1.1.0 minio 集成支持

    goreplay 默认对于minio s3 的支持不是很好,所以修改了关于s3 的部分代码,可以方便的集成minio

    需要修改的代码

    注意pro 特性也是需要修改的

    • s3_reader.go
      修改的不好,实际应该走环境变量
     
    func awsConfig() *aws.Config {
        region := os.Getenv("AWS_DEFAULT_REGION")
        if region == "" {
            region = os.Getenv("AWS_REGION")
            if region == "" {
                region = "us-east-1"
            }
        }
        config := &aws.Config{Region: aws.String(region)}
        if endpoint := os.Getenv("AWS_ENDPOINT_URL"); endpoint != "" {
            config.Endpoint = aws.String(endpoint)
            log.Println("Custom endpoint:", endpoint)
        }
        log.Println("Connecting to S3. Region: " + region)
        config.CredentialsChainVerboseErrors = aws.Bool(true)
    //  使用url 模式,同时禁用ssl
    +    config.S3ForcePathStyle = aws.Bool(true)
    +    config.DisableSSL = aws.Bool(true)
        if os.Getenv("AWS_DEBUG") != "" {
            config.LogLevel = aws.LogLevel(aws.LogDebugWithHTTPBody)
        }
        return config
    }
    • pro.go
    var PRO = true

    试用

    • docker-compose 文件
    version: "3"
    services: 
      minio: 
        image: minio/minio
        command: server /data
        volumes: 
        - "./data:/data"
        ports: 
        - "9000:9000"
        environment:
          - "MINIO_DOMAIN=minios3.com"
          - "MINIO_REGION_NAME=demo"
          - "MINIO_ACCESS_KEY=minio"
          - "MINIO_SECRET_KEY=minio123"
      pg: 
         image:  postgres:9.6.11
         environment: 
         - "POSTGRES_PASSWORD=dalong"
         ports:
         - "5432:5432"
    • 启动
    docker-compose up -d
     
    export AWS_ACCESS_KEY_ID=minio
    export AWS_REGION=demo
    export AWS_BUCKET=demo
    export AWS_SECRET_ACCESS_KEY=minio123
    export AWS_ENDPOINT_URL=http://minios3.com:9000
    export AWS_DEBUG=true
    • 运行命令
    gor --input-raw :5432 --input-raw-protocol binary --output-file=requests.gor  --output-file s3://logs/%Y-%m-%d.gz
    • 效果

    说明

    以上只是一个简单的修改,为了测试s3 的特性,还可以使用s3 的回放功能,当然支持的协议有限,但是对于web的请求,我们基于s3 还是一个很不错的选择的

    参考资料

    https://github.com/buger/goreplay/wiki/%5BPRO%5D-Replaying-Binary-protocols

  • 相关阅读:
    递归算法解析成树形结构
    Tomcat性能参数设置
    hibernate.cfg.xml 配置(摘录)
    OpenCms 集成外部Solr Server
    安装配置OPENCMS的Replication cluster(从)详细过程
    ruby 格式化当前日期时间
    Ruby 语法快速入门
    ruby condition
    配置 RAILS FOR JRUBY1.7.4
    我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(五)框架及Web项目的组件化
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13341248.html
Copyright © 2011-2022 走看看