• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Govern Service 基于 Redis 的服务治理平台安装过程详解

    Govern Service 基于 Redis 的服务治理平台(服务注册/发现 配置中心)

    Govern Service 是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了Redis),不用给运维部署带来额外的成本与负担。
    借助于 Redis 的高性能, Govern Service 提供了超高TPSQPS (10W+/s JMH 基准测试)。Govern Service 结合本地进程缓存策略 + Redis PubSub,实现实时进程缓存刷新,兼具无与伦比的QPS性能、进程缓存与 Redis 的实时一致性。

    安装

    Gradle

    Kotlin DSL

     val governVersion = "0.9.13";
        implementation("me.ahoo.govern:spring-cloud-starter-config:${governVersion}")
        implementation("me.ahoo.govern:spring-cloud-starter-discovery:${governVersion}")

    Maven

    ?xml version="1.0" encoding="UTF-8"?>
    
    project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
      modelVersion>4.0.0/modelVersion>
      artifactId>demo/artifactId>
      properties>
        govern.version>0.9.13/govern.version>
      /properties>
    
      dependencies>
        dependency>
          groupId>me.ahoo.govern/groupId>
          artifactId>spring-cloud-starter-config/artifactId>
          version>${govern.version}/version>
        /dependency>
        dependency>
          groupId>me.ahoo.govern/groupId>
          artifactId>spring-cloud-starter-discovery/artifactId>
          version>${govern.version}/version>
        /dependency>
      /dependencies>
    
    /project>

    bootstrap.yml (Spring-Cloud-Config)

    spring:
      application:
        name: ${service.name:govern-rest-api}
      cloud:
        govern:
          namespace: ${govern.namespace:govern-{system}}
          config:
            config-id: ${spring.application.name}.yml
          redis:
            mode: ${govern.mode:standalone}
            url: ${govern.redis.uri:redis://localhost:6379}
    logging:
      file:
        name: logs/${spring.application.name}.log
    

    REST-API Server (Optional)

    安装 REST-API Server

    方式一:下载可执行文件

    下载 rest-api-server

    解压 rest-api-0.9.13.tar

    cd rest-api-0.9.13
    # 工作目录: rest-api-0.9.13
    bin/rest-api --server.port=8080 --govern.redis.uri=redis://localhost:6379

    方式二:Docker run

    docker pull ahoowang/govern-service:0.9.13
    docker run --name govern-service -d -p 8080:8080 --link redis -e GOVERN_REDIS_URI=redis://redis:6379  ahoowang/govern-service:0.9.13

    MacBook Pro (M1)

    请使用 ahoowang/govern-service:0.9.13-armv7

    docker pull ahoowang/govern-service:0.9.13-armv7
    docker run --name govern-service -d -p 8080:8080 --link redis -e GOVERN_REDIS_URI=redis://redis:6379  ahoowang/govern-service:0.9.13-armv7

    http://localhost:8080/dashboard

    Dashboard

    命名空间管理

    配置管理

    服务管理

    REST-API

    http://localhost:8080/swagger-ui/index.html

    Namespace

    /v1/namespaces
    GET
    /v1/namespaces/{namespace}
    PUT
    GET
    /v1/namespaces/current
    GET
    /v1/namespaces/current/{namespace}
    PUT

    Config

    /v1/namespaces/{namespace}/configs
    GET
    /v1/namespaces/{namespace}/configs/{configId}
    GET
    PUT
    DELETE
    /v1/namespaces/{namespace}/configs/{configId}/versions
    GET
    /v1/namespaces/{namespace}/configs/{configId}/versions/{version}
    GET
    /v1/namespaces/{namespace}/configs/{configId}/to/{targetVersion}
    PUT

    Service

    /v1/namespaces/{namespace}/services/
    GET
    /v1/namespaces/{namespace}/services/{serviceId}/instances
    GET
    PUT
    /v1/namespaces/{namespace}/services/{serviceId}/instances/{instanceId}
    DELETE
    /v1/namespaces/{namespace}/services/{serviceId}/instances/{instanceId}/metadata
    PUT
    /v1/namespaces/{namespace}/services/{serviceId}/lb
    GET

    JMH-Benchmark

    ConfigService

    gradle config:jmh
    # JMH version: 1.29
    # VM version: JDK 11.0.11, OpenJDK 64-Bit Server VM, 11.0.11+9-LTS
    # VM invoker: /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java
    # VM options: -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/Users/ahoo/govern-service/config/build/tmp/jmh -Duser.country=CN -Duser.language=zh -Duser.variant
    # Blackhole mode: full + dont-inline hint
    # Warmup: 1 iterations, 10 s each
    # Measurement: 1 iterations, 10 s each
    # Timeout: 10 min per iteration
    # Threads: 50 threads, will synchronize iterations
    # Benchmark mode: Throughput, ops/time
    
    Benchmark                                          Mode  Cnt          Score   Error  Units
    ConsistencyRedisConfigServiceBenchmark.getConfig  thrpt       265321650.148          ops/s
    RedisConfigServiceBenchmark.getConfig             thrpt          106991.476          ops/s
    RedisConfigServiceBenchmark.setConfig             thrpt          103659.132          ops/s

    ServiceDiscovery

    gradle discovery:jmh
    # JMH version: 1.29
    # VM version: JDK 11.0.11, OpenJDK 64-Bit Server VM, 11.0.11+9-LTS
    # VM invoker: /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java
    # VM options: -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/Users/ahoo/govern-service/discovery/build/tmp/jmh -Duser.country=CN -Duser.language=zh -Duser.variant
    # Blackhole mode: full + dont-inline hint
    # Warmup: 1 iterations, 10 s each
    # Measurement: 1 iterations, 10 s each
    # Timeout: 10 min per iteration
    # Threads: 50 threads, will synchronize iterations
    # Benchmark mode: Throughput, ops/time
    
    Benchmark                                                Mode  Cnt          Score   Error  Units
    ConsistencyRedisServiceDiscoveryBenchmark.getInstances  thrpt        76894658.867          ops/s
    ConsistencyRedisServiceDiscoveryBenchmark.getServices   thrpt       466036317.472          ops/s
    RedisServiceDiscoveryBenchmark.getInstances             thrpt          107778.244          ops/s
    RedisServiceDiscoveryBenchmark.getServices              thrpt          106920.412          ops/s
    RedisServiceRegistryBenchmark.deregister                thrpt          114094.513          ops/s
    RedisServiceRegistryBenchmark.register                  thrpt          109085.694          ops/s
    RedisServiceRegistryBenchmark.renew                     thrpt          127003.104          ops/s

    作者:Ahoo Wang (阿虎)

    Github: https://github.com/Ahoo-Wang/

    SmartSql(高性能、高生产力,超轻量级的ORM!): https://github.com/dotnetcore/SmartSql

    SmartCode(不只是代码生成器!): https://github.com/dotnetcore/SmartCode

    Govern Service 基于 Redis 的服务治理平台(服务注册/发现 配置中心): https://github.com/Ahoo-Wang/govern-service

    Govern EventBus 历经多年生产环境验证的事件驱动架构框架: https://github.com/Ahoo-Wang/govern-eventbus

    以上就是Govern Service 基于 Redis 的服务治理平台的详细内容,更多关于Redis 服务治理的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • linux 开机自启动redis服务的方法
    • 一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历
    • Windows服务器中PHP如何安装redis扩展
    • springcloud微服务基于redis集群的单点登录实现解析
    • 浅谈Redis在微服务架构中的几种应用场景
    上一篇:redis内存空间效率问题的深入探究
    下一篇:为Java项目添加Redis缓存的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Govern Service 基于 Redis 的服务治理平台安装过程详解 Govern,Service,基于,Redis,的,