English Document
cosky 是一个轻量级、低成本的服务注册、服务发现、配置服务 sdk,通过使用现有基础设施中的 redis(相信您已经部署了 redis),无需给运维部署带来额外的成本与负担。借助 redis 的高性能,cosky 提供了超高的 tps&qps (10w+/s jmh 基准测试)。cosky 结合本地进程缓存策略 + redis pubsub,实现实时进程缓存刷新,兼具无与伦比的 qps 性能 (7000w+/s jmh 基准测试) 和进程缓存与 redis 的实时一致性。
我们非常高兴地宣布 CoSky v5.2.0 正式发布!这是一个里程碑式的版本,带来了对最新 Spring 生态的支持、一次彻底的技术栈革新以及一系列激动人心的新功能。此版本致力于提升开发者体验、增强系统性能并提供一个更现代化、更强大的服务治理平台。
OrderedCorsWebFilter,为 REST API 提供灵活、可排序的全局跨域资源共享配置,简化前端集成。我们对管理控制台进行了彻底的架构重构,从 Angular 迁移至 React 技术栈,带来了全面的用户体验革新:
全新的服务拓扑功能,让您能够直观地洞察微服务间的依赖关系与运行状态。
配置管理中心:
服务与权限管理:
cosky-mirror 模块,简化项目架构。立即升级,体验更强大、更流畅的 CoSky!


Service Consumer --RPC--> Service Provider Examples
Kotlin DSL
<strong>val</strong> coskyVersion = <span style="color:#dd1144">"lastVersion"</span>;
implementation(<span style="color:#dd1144">"me.ahoo.cosky:spring-cloud-starter-cosky-config:<span style="color:#333333">${coskyVersion}</span>"</span>)
implementation(<span style="color:#dd1144">"me.ahoo.cosky:spring-cloud-starter-cosky-discovery:<span style="color:#333333">${coskyVersion}</span>"</span>)
implementation(<span style="color:#dd1144">"org.springframework.cloud:spring-cloud-starter-loadbalancer:3.0.3"</span>)
<span><?xml version="1.0" encoding="UTF-8"?></span>
<span style="color:#55cde3"><<span style="color:#008080">project</span> <span>xmlns</span>=<span style="color:#dd1144">"http://maven.apache.org/POM/4.0.0"</span>
<span>xmlns:xsi</span>=<span style="color:#dd1144">"http://www.w3.org/2001/XMLSchema-instance"</span>
<span>xsi:schemaLocation</span>=<span style="color:#dd1144">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">modelVersion</span>></span>4.0.0<span style="color:#55cde3"></<span style="color:#008080">modelVersion</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">artifactId</span>></span>demo<span style="color:#55cde3"></<span style="color:#008080">artifactId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">properties</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">cosky.version</span>></span>lastVersion<span style="color:#55cde3"></<span style="color:#008080">cosky.version</span>></span>
<span style="color:#55cde3"></<span style="color:#008080">properties</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">dependencies</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">dependency</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">groupId</span>></span>me.ahoo.cosky<span style="color:#55cde3"></<span style="color:#008080">groupId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">artifactId</span>></span>spring-cloud-starter-cosky-config<span style="color:#55cde3"></<span style="color:#008080">artifactId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">version</span>></span>${cosky.version}<span style="color:#55cde3"></<span style="color:#008080">version</span>></span>
<span style="color:#55cde3"></<span style="color:#008080">dependency</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">dependency</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">groupId</span>></span>me.ahoo.cosky<span style="color:#55cde3"></<span style="color:#008080">groupId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">artifactId</span>></span>spring-cloud-starter-cosky-discovery<span style="color:#55cde3"></<span style="color:#008080">artifactId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">version</span>></span>${cosky.version}<span style="color:#55cde3"></<span style="color:#008080">version</span>></span>
<span style="color:#55cde3"></<span style="color:#008080">dependency</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">dependency</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">groupId</span>></span>org.springframework.cloud<span style="color:#55cde3"></<span style="color:#008080">groupId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">artifactId</span>></span>spring-cloud-starter-loadbalancer<span style="color:#55cde3"></<span style="color:#008080">artifactId</span>></span>
<span style="color:#55cde3"><<span style="color:#008080">version</span>></span>3.0.3<span style="color:#55cde3"></<span style="color:#008080">version</span>></span>
<span style="color:#55cde3"></<span style="color:#008080">dependency</span>></span>
<span style="color:#55cde3"></<span style="color:#008080">dependencies</span>></span>
<span style="color:#55cde3"></<span style="color:#008080">project</span>></span>
<span>spring:</span>
<span>application:</span>
<span>name:</span> <span style="color:#dd1144">${service.name:cosky}</span>
<span>data:</span>
<span>redis:</span>
<span>url:</span> <span style="color:#dd1144">redis://localhost:6379</span>
<span>cloud:</span>
<span>cosky:</span>
<span>namespace:</span> <span style="color:#dd1144">${cosky.namespace:cosky-{system}}</span>
<span>config:</span>
<span>config-id:</span> <span style="color:#dd1144">${spring.application.name}.yaml</span>
<span>service-registry:</span>
<span>auto-registration:</span>
<span>enabled:</span> <span style="color:#dd1144">${cosky.auto-registry:true}</span>
<span>logging:</span>
<span>file:</span>
<span>name:</span> <span style="color:#dd1144">logs/${spring.application.name}.log</span>根据您的环境选择三种部署方式之一:
下载最新版本并直接运行:
<span>#</span><span> 下载 cosky-server</span> wget https://github.com/Ahoo-Wang/cosky/releases/latest/download/cosky-server.tar <span> #</span><span> 解压并运行</span> tar -xvf cosky-server.tar cd cosky-server bin/cosky --server.port=8080 --spring.data.redis.url=redis://localhost:6379
使用 Docker 快速部署:
docker pull ahoowang/cosky:latest docker run --name cosky -d -p 8080:8080 \ -e SPRING_DATA_REDIS_URL=redis://your-redis-host:6379 \ ahoowang/cosky:latest
在 Kubernetes 集群中部署:
<span>apiVersion:</span> <span style="color:#dd1144">apps/v1</span>
<span>kind:</span> <span style="color:#dd1144">Deployment</span>
<span>metadata:</span>
<span>name:</span> <span style="color:#dd1144">cosky</span>
<span>labels:</span>
<span>app:</span> <span style="color:#dd1144">cosky</span>
<span>spec:</span>
<span>replicas:</span> <span style="color:#008080">1</span>
<span>selector:</span>
<span>matchLabels:</span>
<span>app:</span> <span style="color:#dd1144">cosky</span>
<span>template:</span>
<span>metadata:</span>
<span>labels:</span>
<span>app:</span> <span style="color:#dd1144">cosky</span>
<span>spec:</span>
<span>containers:</span>
<span>-</span> <span>name:</span> <span style="color:#dd1144">cosky</span>
<span>image:</span> <span style="color:#dd1144">ahoowang/cosky:latest</span>
<span>ports:</span>
<span>-</span> <span>containerPort:</span> <span style="color:#008080">8080</span>
<span>protocol:</span> <span style="color:#dd1144">TCP</span>
<span>env:</span>
<span>-</span> <span>name:</span> <span style="color:#dd1144">SPRING_DATA_REDIS_URL</span>
<span>value:</span> <span style="color:#dd1144">redis://your-redis-host:6379</span>
<span>resources:</span>
<span>requests:</span>
<span>cpu:</span> <span style="color:#dd1144">250m</span>
<span>memory:</span> <span style="color:#dd1144">1024Mi</span>
<span>limits:</span>
<span>cpu:</span> <span style="color:#dd1144">"1"</span>
<span>memory:</span> <span style="color:#dd1144">1280Mi</span>
<span>volumeMounts:</span>
<span>-</span> <span>name:</span> <span style="color:#dd1144">volume-localtime</span>
<span>mountPath:</span> <span style="color:#dd1144">/etc/localtime</span>
<span>volumes:</span>
<span>-</span> <span>name:</span> <span style="color:#dd1144">volume-localtime</span>
<span>hostPath:</span>
<span>path:</span> <span style="color:#dd1144">/etc/localtime</span>
<span>type:</span> <span style="color:#dd1144">""</span>
<span>---</span>
<span>apiVersion:</span> <span style="color:#dd1144">v1</span>
<span>kind:</span> <span style="color:#dd1144">Service</span>
<span>metadata:</span>
<span>name:</span> <span style="color:#dd1144">cosky</span>
<span>labels:</span>
<span>app:</span> <span style="color:#dd1144">cosky</span>
<span>spec:</span>
<span>selector:</span>
<span>app:</span> <span style="color:#dd1144">cosky</span>
<span>ports:</span>
<span>-</span> <span>name:</span> <span style="color:#dd1144">rest</span>
<span>port:</span> <span style="color:#008080">80</span>
<span>protocol:</span> <span style="color:#dd1144">TCP</span>
<span>targetPort:</span> <span style="color:#008080">8080</span>访问基于Web的管理界面:
http://localhost:8080

CoSky Dashboard 提供以下功能:

enforce-init-super-user: true,CoSky 会帮助你重新初始化密码并打印在控制台。
---------------- ****** CoSky - init super user:[cosky] password:[6TrmOux4Oj] ****** ----------------

添加角色


添加用户




编辑配置

回滚配置

从 Nacos 导入配置


编辑服务实例信息

https://ahoo-cosky.apifox.cn/
CoSky 提供卓越的性能,相比其他方案性能提升数个数量级
gradle cosky-config:jmh <span>#</span><span> or</span> java -jar cosky-config/build/libs/cosky-config-lastVersion-jmh.jar -bm thrpt -t 25 -wi 1 -rf json -f 1
Benchmark Mode Cnt Score Error Units ConsistencyRedisConfigServiceBenchmark.getConfig thrpt 256733987.827 ops/s RedisConfigServiceBenchmark.getConfig thrpt 241787.679 ops/s RedisConfigServiceBenchmark.setConfig thrpt 140461.112 ops/s
gradle cosky-discovery:jmh <span>#</span><span> or</span> java -jar cosky-discovery/build/libs/cosky-discovery-lastVersion-jmh.jar -bm thrpt -t 25 -wi 1 -rf json -f 1
Benchmark Mode Cnt Score Error Units ConsistencyRedisServiceDiscoveryBenchmark.getInstances thrpt 76621729.048 ops/s ConsistencyRedisServiceDiscoveryBenchmark.getServices thrpt 455760632.346 ops/s RedisServiceDiscoveryBenchmark.getInstances thrpt 226909.985 ops/s RedisServiceDiscoveryBenchmark.getServices thrpt 304979.150 ops/s RedisServiceRegistryBenchmark.deregister thrpt 255305.648 ops/s RedisServiceRegistryBenchmark.register thrpt 110664.160 ops/s RedisServiceRegistryBenchmark.renew thrpt 210960.325 ops/s
? 关键洞察: CoSky 的一致性层在配置检索方面提供超过 800 倍的性能提升,在服务发现方面提供超过 250 倍的性能提升,相比标准 Redis 操作。
CoSky-Mirror 就像一座桥梁连接 Nacos 和 CoSky,构建一个统一的服务发现平台,实现无缝集成。


通过 CoSky-Mirror,您可以:
| 功能 | CoSky | Eureka | Consul | CoreDNS | Zookeeper | Nacos | Apollo |
|---|---|---|---|---|---|---|---|
| 健康检查 | Client Beat | Client Beat | TCP/HTTP/gRPC/Cmd | Keep Alive | Keep Alive | TCP/HTTP/Client Beat | Client Beat |
| 负载均衡策略 | Weight/Selector | Ribbon | Fabio | RoundRobin | RoundRobin | Weight/metadata/RoundRobin | RoundRobin |
| 自动注销实例 | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
| 访问协议 | HTTP/Redis | HTTP | HTTP/DNS | DNS | TCP | HTTP/DNS | HTTP |
| 监听支持 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| SpringCloud集成 | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| K8S集成 | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
| 持久化 | Redis | - | - | - | - | MySql | MySql |
欢迎社区贡献!无论是报告错误、提出功能建议还是提交拉取请求,您的参与都能帮助 CoSky 变得更好。
CoSky 是基于 Apache License 2.0 许可的开源软件。
源码地址:点击下载
以上就是拥抱 Spring Boot 4,重构 React 现代化仪表盘 | CoSky v5.2.0 发布的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号