首页 文章 精选 留言 我的

精选列表

搜索[版本发布],共10000篇文章
优秀的个人博客,低调大师

CoSky 1.3.1 发布 - ALL IN 响应式编程

CoSky高性能、低成本微服务治理平台(服务注册/发现 & 配置中心) 更新内容(1.3.1)ALL IN 响应式编程 🎉🎉🎉 变更:修改异步API为响应式编程API. 变更:使用WebFlux作为cosky-rest-api的Web编程框架. 修复:导出配置文件报告401授权异常 (Dashboard-UI). CoSky是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了Redis),不用给运维部署带来额外的成本与负担。 借助于 Redis 的高性能,CoSky提供了超高TPS&QPS (10W+/sJMH 基准测试)。CoSky结合本地进程缓存策略 +Redis PubSub,实现实时进程缓存刷新,兼具无与伦比的QPS性能 (7000W+/sJMH 基准测试)、进程缓存与 Redis 的实时一致性。 服务注册与发现 配置中心 CoSky-Mirror (实时同步服务实例变更状态) CoSky-Mirror 就像一个镜子放在 Nacos、CoSky 中间,构建一个统一的服务发现平台。 Examples Service Consumer --RPC--> Service Provider Examples 安装 Gradle Kotlin DSL val coskyVersion = "1.3.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.3.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 方式一:下载可执行文件 下载rest-api-server 解压cosky-rest-api-1.3.1.tar cd cosky-rest-api-1.3.1 # 工作目录: cosky-rest-api-1.3.1 bin/cosky-rest-api --server.port=8080 --cosky.redis.uri=redis://localhost:6379 方式二:在 Docker 中运行 docker pull ahoowang/cosky-rest-api:1.3.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.3.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.3.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 http://localhost:8080/dashboard 服务依赖拓扑 基于角色的访问控制(RBAC) cosky: 保留用户名,超级用户,拥有最高权限。应用首次启动时会初始化超级用户(cosky)的密码,并打印在控制台。忘记密码也不用担心,可以通过配置enforce-init-super-user: true,CoSky会帮助你重新初始化密码并打印在控制台。 ---------------- ****** CoSky - init super user:[cosky] password:[6TrmOux4Oj] ****** ---------------- admin: 保留角色,超级管理员角色,拥有所有权限,一个用户可以绑定多个角色,一个角色可以绑定多个资源操作权限。 权限控制粒度为命名空间,读写操作 角色权限 添加角色 用户管理 添加用户 审计日志 命名空间管理 配置管理 编辑配置 回滚配置 从 Nacos 导入配置 服务管理 编辑服务实例信息 REST-API http://localhost:8080/swagger-ui/index.html#/ 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.3.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.3.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.

优秀的个人博客,低调大师

CO 2.0.1 发布,增加更多 golang 特性

GitHub https://github.com/idealvin/co 参考文档 中文:[github](https://idealvin.github.io/cn/about/co/)[gitee](https://idealvin.gitee.io/cn/about/co/) English:[github](https://idealvin.github.io/en/about/co/)[gitee](https://idealvin.gitee.io/en/about/co/) 新特性 xrepo sh xrepoinstall-f"openssl=true,libcurl=true"co vcpkg sh vcpkginstallco:x64-windows #http&sslsupport vcpkginstallco[libcurl,openssl]:x64-windows defer(类似于golang中的defer) cpp #include"co/defer.h" Timert; defer(LOG<<"timeelapse:"<<t.us()<<"us"); channel(类似于golang中的channel) cpp #include"co/co.h" DEF_main(argc,argv){ co::Chan<int>ch; go([ch](){ ch<<7; }); intv=0; ch>>v; LOG<<"v:"<<v; return0; } waitgroup(类似于golang中的sync.WaitGroup) cpp #include"co/co.h" DEF_main(argc,argv){ FLG_cout=true; co::WaitGroupwg; wg.add(8); for(inti=0;i<8;++i){ go([wg](){ LOG<<"co:"<<co::coroutine_id(); wg.done(); }); } wg.wait(); return0; } 协程在windows平台支持hook。 在指定调度线程中创建协程。 cpp autos=co::next_scheduler(); s->go(f1); s->go(f2); 在所有调度线程中创建协程。 cpp auto&s=co::all_schedulers(); for(size_ti=0;i<s.size();++i){ s[i]->go(f); } 增加`voidflag::init(constfastring&path);` 改变 全局的`Closure`改为`co::Closure`. 改进`co::Event`,可以在协程及非协程中使用,支持拷贝构造、lambda中按值捕获. 改进`co::Mutex`,`co::Pool`,支持拷贝构造、lambda中按值捕获. 改进`co::close()`,可以在任何地方调用. 部分支持mingw,协程相关特性暂时不能在mingw上运行. 问题修复 修复`fs::file`读写超过4G长度数据的bug. 修复http::Client连接超时时的错误信息. 修复#165中的链接问题.

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册