内容简介:CoSky 高性能、低成本微服务治理平台(服务注册/发现 & 配置中心) CoSky 是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了Redis),不用给运维部署...
CoSky 高性能、低成本微服务治理平台(服务注册/发现 & 配置中心)
CoSky 是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了Redis),不用给运维部署带来额外的成本与负担。 借助于 Redis 的高性能, CoSky 提供了超高TPS&QPS (10W+/s JMH 基准测试)。CoSky 结合本地进程缓存策略 + Redis PubSub,实现实时进程缓存刷新,兼具无与伦比的QPS性能 (7000W+/s JMH 基准测试)、进程缓存与 Redis 的实时一致性。
更新内容(1.2.1) ???? ???? ????
- 添加保留角色(
Role.ADMIN)说明 - 依赖更新:更新分布式ID生成器 (
CosId) 版本依赖 1.3.1 -> 1.3.2
服务注册与发现

配置中心

CoSky-Mirror (实时同步服务实例变更状态)
CoSky-Mirror 就像一个镜子放在 Nacos、CoSky 中间,构建一个统一的服务发现平台。


Examples
Service Consumer --RPC--> Service Provider Examples
安装
Gradle
Kotlin DSL
val coskyVersion = "1.2.1";
implementation("me.ahoo.cosky:spring-cloud-starter-cosky-config:${coskyVersion}")
implementation("me.ahoo.cosky:spring-cloud-starter-cosky-discovery:${coskyVersion}")
implementation("org.springframework.cloud:spring-cloud-starter-loadbalancer:3.0.3")
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> <cosky.version>1.2.1</cosky.version> </properties> <dependencies> <dependency> <groupId>me.ahoo.cosky</groupId> <artifactId>spring-cloud-starter-cosky-config</artifactId> <version>${cosky.version}</version> </dependency> <dependency> <groupId>me.ahoo.cosky</groupId> <artifactId>spring-cloud-starter-cosky-discovery</artifactId> <version>${cosky.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> <version>3.0.3</version> </dependency> </dependencies> </project>
bootstrap.yaml (Spring-Cloud-Config)
spring: application: name: ${service.name:cosky-rest-api} cloud: cosky: namespace: ${cosky.namespace:cosky-{system}} config: config-id: ${spring.application.name}.yaml redis: mode: ${cosky.redis.mode:standalone} url: ${cosky.redis.uri:redis://localhost:6379} logging: file: name: logs/${spring.application.name}.log
REST-API Server (Optional)
安装 REST-API Server
方式一:下载可执行文件
解压 cosky-rest-api-1.2.1.tar
cd cosky-rest-api-1.2.1 # 工作目录: cosky-rest-api-1.2.1 bin/cosky-rest-api --server.port=8080 --cosky.redis.uri=redis://localhost:6379
方式二:在 Docker 中运行
docker pull ahoowang/cosky-rest-api:1.2.1 docker run --name cosky-rest-api -d -p 8080:8080 --link redis -e COSKY_REDIS_URI=redis://redis:6379 ahoowang/cosky-rest-api:1.2.1
方式三:在 Kubernetes 中运行
apiVersion: apps/v1 kind: Deployment metadata: name: cosky-rest-api labels: app: cosky-rest-api spec: replicas: 1 selector: matchLabels: app: cosky-rest-api template: metadata: labels: app: cosky-rest-api spec: containers: - env: - name: COSKY_REDIS_MODE value: standalone - name: COSKY_REDIS_URI value: redis://redis-uri:6379 image: ahoowang/cosky-rest-api:1.2.1 name: cosky-rest-api ports: - containerPort: 8080 protocol: TCP resources: limits: cpu: "1" memory: 1280Mi requests: cpu: 250m memory: 1024Mi volumeMounts: - mountPath: /etc/localtime name: volume-localtime volumes: - hostPath: path: /etc/localtime type: "" name: volume-localtime --- apiVersion: v1 kind: Service metadata: name: cosky-rest-api labels: app: cosky-rest-api spec: selector: app: cosky-rest-api ports: - name: rest port: 80 protocol: TCP targetPort: 8080
Dashboard

基于角色的访问控制(RBAC)
- cosky: 保留用户名,超级用户,拥有最高权限。应用首次启动时会初始化超级用户(cosky)的密码,并打印在控制台。忘记密码也不用担心,可以通过配置
enforce-init-super-user: true,CoSky 会帮助你重新初始化密码并打印在控制台。
---------------- ****** CoSky - init super user:[cosky] password:[6TrmOux4Oj] ****** ----------------
- admin: 保留角色,超级管理员角色,拥有所有权限,一个用户可以绑定多个角色,一个角色可以绑定多个资源操作权限。
- 权限控制粒度为命名空间,读写操作
角色权限

添加角色

用户管理

添加用户

命名空间管理

配置管理

编辑配置

回滚配置

从 Nacos 导入配置

服务管理

编辑服务实例信息

REST-API
Namespace

- /v1/namespaces
- GET
- /v1/namespaces/{namespace}
- PUT
- GET
- /v1/namespaces/current
- GET
- /v1/namespaces/current/{namespace}
- PUT
Config

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

- /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
gradle cosky-config:jmh # or java -jar cosky-config/build/libs/cosky-config-1.2.1-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
ServiceDiscovery
gradle cosky-discovery:jmh # or java -jar cosky-discovery/build/libs/cosky-discovery-1.2.1-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 1.2.1 发布 - 高性能、低成本微服务治理平台》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- CoSky 1.1.6 发布 - 高性能、低成本服务治理平台
- 区块链治理与Polkadot的链上治理实践
- 国内酒店稳定性治理实践之内部资源治理
- 苏宁微服务治理架构Istio的通信和治理之道
- 企业级开源治理里程碑——开源治理论坛精彩抢先看
- 哈啰在分布式消息治理和微服务治理中的实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML and CSS
Elisabeth Robson、Eric Freeman / O'Reilly Media / 2012-9-8 / USD 39.99
Tired of reading HTML books that only make sense after you're an expert? Then it's about time you picked up Head First HTML and really learned HTML. You want to learn HTML so you can finally create th......一起来看看 《Head First HTML and CSS》 这本书的介绍吧!
XML、JSON 在线转换
在线XML、JSON转换工具
HEX CMYK 转换工具
HEX CMYK 互转工具
