Поддержка Spring Boot 3.4.0
org.springframework.boot:spring-boot-dependencies
до v3.4.0
org.springframework.cloud:spring-cloud-dependencies
до v2024
me.ahoo.cosid:cosid-bom
до v2.10.1
me.ahoo.simba:simba-bom
до v2.6.1
me.ahoo.cosec:cosec-bom
до v2.9.1
Полная совместимость с Spring Boot 3
org.springframework.boot:spring-boot-dependencies
до v3.1.5
Angular
до v17io.mockk:mockk
до v1.13.8
v2.5.6
v2.4.3
Kotlin
до v1.9.20
/actuator/health
для проверки состояния*Probe
для K8S-развертыванияAuthorizeService
WebFlux
в качестве Web-фреймворка для cosky-rest-api
.Улучшение: Разделение сервисной зависимости топологии (Дашборд) для удобства чтения.
Redis 5.0
и ниже.namespace
в ключ с hashtag
.Улучшения:
Role.ADMIN
).CosId
) с 1.3.1 до 1.3.2.enforce-init-super-user: true
, и CoSky поможет вам заново инициализировать пароль и вывести его в консоли.---------------- ****** CoSky - init super user:[cosky] password:[6TrmOux4Oj] ****** ----------------
Необязательный
)Скачайте rest-api-server
Распакуйте rest-api-0.9.3.tar
cd rest-api-0.9.3
# Рабочий каталог: rest-api-0.9.3
bin/rest-api --server.port=8080 --govern.redis.uri=redis://localhost:6379
docker pull ahoowang/govern-service:0.9.3
docker run --name govern-service -d -p 8080:8080 --link redis -e GOVERN_REDIS_URI=redis://redis:6379 ahoowang/govern-service:0.9.3
MacBook Pro (M1)
Используйте ahoowang/govern-service:0.9.3-armv7
docker pull ahoowang/govern-service:0.9.3-armv7
docker run --name govern-service -d -p 8080:8080 --link redis -e GOVERN_REDIS_URI=redis://redis:6379 ahoowang/govern-service:0.9.3-armv7
Услуга управления (Govern Service) представляет собой легковесный, низкозатратный SDK для регистрации услуг, службы открытия и конфигураций. Используя Redis в существующей инфраструктуре (я уверен, что вы уже установили Redis), он не требует дополнительной нагрузки на операционную среду и обслуживание. Благодаря высокой производительности Redis, Govern Service обеспечивает сверхвысокую TPS&QPS. Govern Service объединяет стратегию кэширования процессов + Redis PubSub, чтобы достичь реального времени обновления кэша процессов с уникальной производительностью QPS и мгновенной согласованностью между кэшем процессов и Redis.
notify-keyspace-events "Kg$shx"
Вы можете использовать следующую командную строку (redis-cli или любой другой клиент Redis) для установки
notify-keyspace-events
:
config set notify-keyspace-events "Kg$shx"
или
config set notify-keyspace-events "KA"
val governVersion = "0.7.1";
implementation("me.ahoo.govern:spring-cloud-starter-config:${governVersion}")
implementation("me.ahoo.govern:spring-cloud-starter-discovery:${governVersion}")
<properties>
<govern.version>0.7.1</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>
spring:
application:
name: govern-rest-api
cloud:
govern:
namespace: dev
config:
config-id: ${spring.application.name}.yml
redis:
mode: standalone
url: redis://localhost:6379
bin/rest-api
gradle jmh
# JMH версия: 1.28
# Версия JVM: JDK 11.0.11, OpenJDK 64-Bit Server VM, 11.0.11+9-LTS
# Запуск JVM: /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java
# Опции JVM: -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/Users/ahoo/govern-service/config/build/tmp/jmh -Duser.country=CN -Duser.language=zh -Duser.variant
# Режим черной дыры: полный + подсказка не-инлайн
# Подготовка: 1 итерация, 10 секунд каждая
# Измерение: 1 итерация, 10 секунд каждая
# Время ожидания: 10 минут на каждую итерацию
# Нити: 50 нитей, будут синхронизировать итерации
# Режим бенчмарка: пропускная способность, оп/время
Benchmark Mode Cnt Score Error Units
ConsistencyRedisConfigServiceBenchmark.getConfig thrpt 555275866.836 ops/s
RedisConfigServiceBenchmark.getConfig thrpt 57397.188 ops/s
RedisConfigServiceBenchmark.setConfig thrpt 56882.673 ops/s
# JMH версия: 1.29
# Версия JVM: JDK 11.0.11, OpenJDK 64-Bit Server VM, 11.0.11+9-LTS
# Запуск JVM: /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java
# Опции JVM: -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/Users/ahoo/work/ahoo-git/govern-service/discovery/build/tmp/jmh -Duser.country=CN -Duser.language=zh -Duser.variant
# Режим черной дыры: полный + подсказка не-инлайн
# Подготовка: 1 итерация, 10 секунд каждая
# Измерение: 1 итерация, 10 секунд каждая
# Время ожидания: 10 минут на каждую итерацию
# Нити: 50 нитей, будут синхронизировать итерации
# Режим бенчмарка: пропускная способность, оп/время
Benchmark Mode Cnt Score Error Units
ConsistencyRedisServiceDiscoveryBenchmark.getInstances thrpt 567329996.255 ops/s
ConsistencyRedisServiceDiscoveryBenchmark.getServices thrpt 1929377291.635 ops/s
RedisServiceDiscoveryBenchmark.getInstances thrpt 43760.035 ops/s
RedisServiceDiscoveryBenchmark.getServices thrpt 60953.971 ops/s
RedisServiceRegistryBenchmark.deregister thrpt 63133.011 ops/s
RedisServiceRegistryBenchmark.register thrpt 53957.797 ops/s
RedisServiceRegistryBenchmark.renew thrpt 67116.116 ops/s
Comparison with others
section.io.codearte.nexus-staging
-> io.github.gradle-nexus.publish-plugin
cosid
version to 1.4.15
simba
version to 0.2.5
StatServiceScheduler
) by Simba
1.12.0
2.6.8
2021.0.3
31.1-jre
spring-data-redis
instead of lettuce-core
as the Redis
client to improve user experience.