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

网友投稿 875 2022-10-17

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

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

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

Maven

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-0.9.13.tar

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

方式二:Docker run

docker pull ahoowang/govern-service:0.9.13docker 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-armv7docker run --name govern-service -d -p 8080:8080 --link redis -e GOVERN_REDIS_URI=redis://redis:6379 ahoowang/govern-service:0.9.13-armv7

Dashboard

命名空间管理

配置管理

服务管理

REST-API

Namespace

/v1/namespacesGET/v1/namespaces/{namespace}PUTGET/v1/namespaces/currentGET/v1/namespaces/current/{namespace}PUT

Config

/v1/namespaces/{namespace}/configsGET/v1/namespaces/{namespace}/configs/{configId}GETPUTDELETE/v1/namespaces/{namespace}/configs/{configId}/versionsGET/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}/instancesGETPUT/v1/namespaces/{namespace}/services/{serviceId}/instances/{instanceId}DELETE/v1/namespaces/{namespace}/services/{serviceId}/instances/{instanceId}/metadataPUT/v1/namespaces/{namespace}/services/{serviceId}/lbGET

JMH-Benchmark

基准测试运行环境:笔记本开发机 ( MacBook Pro (M1) )所有基准测试都在开发笔记本上执行。Redis 部署环境也在该笔记本开发机上。

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/timeBenchmark Mode Cnt Score Error UnitsConsistencyRedisConfigServiceBenchmark.getConfig thrpt 265321650.148 ops/sRedisConfigServiceBenchmark.getConfig thrpt 106991.476 ops/sRedisConfigServiceBenchmark.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/timeBenchmark Mode Cnt Score Error UnitsConsistencyRedisServiceDiscoveryBenchmark.getInstances thrpt 76894658.867 ops/sConsistencyRedisServiceDiscoveryBenchmark.getServices thrpt 466036317.472 ops/sRedisServiceDiscoveryBenchmark.getInstances thrpt 107778.244 ops/sRedisServiceDiscoveryBenchmark.getServices thrpt 106920.412 ops/sRedisServiceRegistryBenchmark.deregister thrpt 114094.513 ops/sRedisServiceRegistryBenchmark.register thrpt 109085.694 ops/sRedisServiceRegistryBenchmark.renew thrpt 127003.104 ops/s

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

您可能感兴趣的文章:linux 开机自启动redis服务的方法一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历Windows服务器中PHP如何安装redis扩展springcloud微服务基于redis集群的单点登录实现解析浅谈Redis在微服务架构中的几种应用场景

上一篇:解析rainbond以应用为中心的架构设计原理
下一篇:使用HTTPclient保持长连接
相关文章

 发表评论

暂时没有评论,来抢沙发吧~