CoSky 是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了Redis),不用给运维部署带来额外的成本与负担。 借助于 Redis 的高性能, CoSky 提供了超高TPS&QPS (10W+/s JMH 基准测试)。CoSky 结合本地进程缓存策略 + Redis PubSub,实现实时进程缓存刷新,兼具无与伦比的QPS性能 (7000W+/s JMH 基准测试)、进程缓存与 Redis 的实时一致性。
CoSky-Mirror 就像一个镜子放在 Nacos、CoSky 中间,构建一个统一的服务发现平台。
Service Consumer --RPC--> Service Provider Examples
Kotlin DSL
val coskyVersion = "1.2.10"; 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")
<?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.10</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>
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
Optional
)解压 cosky-rest-api-1.2.10.tar
cd cosky-rest-api-1.2.10 # 工作目录: cosky-rest-api-1.2.10 bin/cosky-rest-api --server.port=8080 --cosky.redis.uri=redis://localhost:6379
docker pull ahoowang/cosky-rest-api:1.2.10 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.10
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.10 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
enforce-init-super-user: true
,CoSky 会帮助你重新初始化密码并打印在控制台。---------------- ****** CoSky - init super user:[cosky] password:[6TrmOux4Oj] ****** ----------------
添加角色
添加用户
编辑配置
回滚配置
从 Nacos 导入配置
编辑服务实例信息
Namespace
Config
gradle cosky-config:jmh # or java -jar cosky-config/build/libs/cosky-config-1.2.10-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 # or java -jar cosky-discovery/build/libs/cosky-discovery-1.2.10-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
SOFADashboard 服务治理主要是对 SOFARpc 的服务进行管理。 目前已经支持基于 ZK 和 SofaRegistry 两个注册中心。 功能展示 1、基于服务维度 服务列表 服务提供者详情: 2、基于应用维度 应用列表 应用服务详情
服务治理配置 黑白名单 "Server": { "Name": "sample", "Ip": "192.168.3.11", "Port": "5003", "Security": { "Whitelist": "*", //白名单 格式:ip1|ap2|1p3,默认 * "BlackList": "" //黑名单 格式:ip1|ap2|1p3,默认 "" } } 负载
本文向大家介绍Dubbo的服务治理?相关面试题,主要包含被问及Dubbo的服务治理?时的应答技巧和注意事项,需要的朋友参考一下 过多的服务URL配置困难 负载均衡分配节点压力过大的情况下也需要部署集群 服务依赖混乱,启动顺序不清晰 过多服务导致性能指标分析难度较大,需要监控
服务治理 服务治理主要作用是改变运行时服务的行为和选址逻辑,达到限流,权重配置等目的,主要有以下几个功能: 应用级别的服务治理 在Dubbo2.6及更早版本中,所有的服务治理规则都只针对服务粒度,如果要把某条规则作用到应用粒度上,需要为应用下的所有服务配合相同的规则,变更,删除的时候也需要对应的操作,这样的操作很不友好,因此Dubbo2.7版本中增加了应用粒度的服务治理操作,对于条件路由(包括黑白
本章介绍 Kubernetes 服务治理,包括容器应用管理、Service Mesh 以及 Operator 等。 目前最常用的是手动管理 Manifests,比如 kubernetes github 代码库就提供了很多的 manifest 示例 https://github.com/kubernetes/kubernetes/tree/master/examples https://github
Kompose是一个将docker-compose配置转换成Kubernetes manifests的工具,官方网站为http://kompose.io/。 Kompose安装 # Linux $ curl -L https://github.com/kubernetes-incubator/kompose/releases/download/v0.5.0/kompose-linux-amd64
Operator是CoreOS推出的旨在简化复杂有状态应用管理的框架,它是一个感知应用状态的控制器,通过扩展Kubernetes API来自动创建、管理和配置应用实例。 Operator原理 Operator基于Third Party Resources扩展了新的应用资源,并通过控制器来保证应用处于预期状态。比如etcd operator通过下面的三个步骤模拟了管理etcd集群的行为: 通过Kub
Draft是微软Deis团队开源(见https://github.com/azure/draft)的容器应用开发辅助工具,它可以帮助开发人员简化容器应用程序的开发流程。 Draft主要由三个命令组成 draft init:初始化docker registry账号,并在Kubernetes集群中部署draftd(负责镜像构建、将镜像推送到docker registry以及部署应用等) draft c