Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Govern Service 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Govern Service 是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了Redis)...

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

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

更新内容(0.9.19)

  1. 优化服务实例续期日志
  2. 增强搜索体验(Dashboard - UI)
  3. 更新 K8S-Deployment(REST-API) 镜像版本
  4. 优化 Rest-API-Server 的异步操作(性能优化)
  5. 优化 时间戳/日期显示(Dashboard - UI)
  6. 修复 编辑实例信息的 BUG(Dashboard - UI)

安装

Gradle

Kotlin DSL

    val governVersion = "0.9.19";
    implementation("me.ahoo.govern:spring-cloud-starter-govern-config:${governVersion}")
    implementation("me.ahoo.govern:spring-cloud-starter-govern-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.19</govern.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>me.ahoo.govern</groupId>
      <artifactId>spring-cloud-starter-govern-config</artifactId>
      <version>${govern.version}</version>
    </dependency>
    <dependency>
      <groupId>me.ahoo.govern</groupId>
      <artifactId>spring-cloud-starter-govern-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}.yaml
      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.19.tar

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

方式二:在 Docker 中运行

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

MacBook Pro (M1)

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

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

方式三:在 Kubernetes 中运行

apiVersion: apps/v1
kind: Deployment
metadata:
  name: govern-service-rest-api
spec:
  replicas: 1
  selector:
    matchLabels:
      app: govern-service-rest-api
  template:
    metadata:
      labels:
        app: govern-service-rest-api
    spec:
      containers:
        - env:
            - name: GOVERN_REDIS_MODE
              value: standalone
            - name: GOVERN_REDIS_URI
              value: redis://redis-uri:6379
          image: ahoowang/govern-service:0.9.19
          name: govern-service
          resources:
            limits:
              cpu: "1"
              memory: 640Mi
            requests:
              cpu: 250m
              memory: 512Mi
          volumeMounts:
            - mountPath: /etc/localtime
              name: volume-localtime
      volumes:
        - hostPath:
            path: /etc/localtime
            type: ""
          name: volume-localtime

 


http://localhost:8080/dashboard

Dashboard

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

命名空间管理

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

配置管理

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

服务管理

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

REST-API

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

Namespace

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

Config

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

Service

Govern Service - 0.9.19 发布 - 基于 Redis 的服务治理平台

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

实用语义网

实用语义网

2009-2 / 59.00元

《实用语义网RDFS与OWL高效建模(英文版)》是语义网的入门教程,详细讲述语义网的核心内容的语言,包括语义网的概念、语义建模等。语义网的发展孕育着万维网及其应用的一场革命,作为语义网核心内容的语言:RDF和OWL,逐渐得到广泛的重视和应用。 《实用语义网RDFS与OWL高效建模(英文版)》对于任何对语义网感兴趣的专业技术人员都是十分难得的参考书。一起来看看 《实用语义网》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具