gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Govern Service 基于 Redis 的服务治理平台安装过程详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

govern service 基于 redis 的服务治理平台(服务注册/发现 & 配置中心) 。

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

安装 。

gradle 。

kotlin dsl 。

?
1
2
3
val governversion = "0.9.13";
    implementation("me.ahoo.govern:spring-cloud-starter-config:${governversion}")
    implementation("me.ahoo.govern:spring-cloud-starter-discovery:${governversion}")

maven 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 。

?
1
2
3
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 。

?
1
2
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 。

?
1
2
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 。

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

命名空间管理 。

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

配置管理 。

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

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

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

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

服务管理 。

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

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

rest-api 。

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

namespace 。

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

/v1/namespaces get /v1/namespaces/{namespace} put get /v1/namespaces/current get /v1/namespaces/current/{namespace} put 。

config 。

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

/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 。

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

/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 。

  • 基准测试运行环境:笔记本开发机 ( macbook pro (m1) )
  • 所有基准测试都在开发笔记本上执行。
  • redis 部署环境也在该笔记本开发机上。

configservice 。

?
1
gradle config:jmh
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 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 。

?
1
gradle discovery:jmh
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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 服务治理的资料请关注我其它相关文章! 。

原文链接:https://www.cnblogs.com/Ahoo-Wang/p/govern-service.html 。

最后此篇关于Govern Service 基于 Redis 的服务治理平台安装过程详解的文章就讲到这里了,如果你想了解更多关于Govern Service 基于 Redis 的服务治理平台安装过程详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com