大规模高性能区块链架构设计模式与测试框架-李世敬
大规模高性能区块链架构 设计模式与测试框架 Gopher Meetup 深圳站 2021 年 8 ⽉ 21 号 趣�科技 李世敬 目录 区块链概述 01 大规模高性能区块链架构设计介绍 02 基于Go插件的区块链性能测试工具 03 写在最后 04 区块链概述 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 合约层 智能合约脚本 合约执⾏引擎 分布式应⽤DApp ⽹络层 P2P⽹络 区块链⽹络模型 区块链⽹络协议 扩 展 层 扩展操作 跨链协议 链上链下计算 预⾔机 扩展组件 消息队列MQ 证书管理 测试框架 治理层 权限体系 治理模型 区块链审计 BaaS运维治理 应⽤层 司法存证 供应链⾦融 智慧政务 物联⽹ 能源电⼒ 跨境贸易 ⼯业物联⽹ 智慧城市 ... 不同于完全开放 合约层 智能合约脚本 合约执⾏引擎 分布式应⽤DApp ⽹络层 P2P⽹络 区块链⽹络模型 区块链⽹络协议 扩 展 层 扩展操作 跨链协议 链上链下计算 预⾔机 扩展组件 消息队列MQ 证书管理 测试框架 治理层 权限体系 治理模型 区块链审计 BaaS运维治理 应⽤层 司法存证 供应链⾦融 智慧政务 物联⽹ 能源电⼒ 跨境贸易 ⼯业物联⽹ 智慧城市 ... 不同于完全开放0 码力 | 39 页 | 56.58 MB | 1 年前3对 Go 程序进行可靠的性能测试
Go 程序进行可靠的性能测试 Changkun Ou https://changkun.de/s/gobench/ Go 夜读系列 |talkgo.org|Talk Go|第 83 期 March 26, 2020 # Go 1.13 / 1.14 2020 © Changkun Ou · Go 夜读 · 对 Go 程序进行可靠的性能测试 主要内容 ● 可靠的测试环境 ● benchstat Go 夜读 · 对 Go 程序进行可靠的性能测试 教科书式的性能测试方法论 3 在《Software Testing: Principles and Practices》一书中归纳的性能测试方法论: 1. 搜集需求 2. 编写测试用例 3. 自动化性能测试用例 4. 执行性能测试用例 5. 分析性能测试结果 6. 性能调优 7. 性能基准测试(Performance Benchmarking) 向客户推荐合适的配置 可靠的测试环境 2020 © Changkun Ou · Go 夜读 · 对 Go 程序进行可靠的性能测试 什么是可靠的性能基准测试环境 5 影响测试环境的软硬件因素 ● 硬件:CPU 型号、温度、IO 等 ● 软件:操作系统版本、当前系统调度的负载等 指导思想 ● 单次测量结果毫无意义,统计意义下可对比的结果是关键 ○ 分析测试的场景、多次测量、决定统计检验的类型0 码力 | 37 页 | 1.23 MB | 1 年前3202309 MeterSphere ⼀站式开源持续测试平台
⼀站式开源持续测试平台 2023 年 9 ⽉ 1 2 持续测试的兴起与现状 3 MeterSphere 加速企业持续测试落地 MeterSphere 企业版及专业服务 持续测试是持续交付发展的必然需求 持续交付可以降低发布⻛险,提⾼可靠性,使 软件能够根据⽤户反馈、市场变化和企业战略 变更不断进⾏调整。 持续交付能⼒是企业核⼼竞争⼒ 持续测试能⼒保障业务⾜够可靠 持续测试是执⾏⾃动化测试的过程,作为软件 持续测试是执⾏⾃动化测试的过程,作为软件 交付流⽔线的重要⼀环,持续测试帮助企业尽 快获得软件发布后业务⻛险的反馈。 保 证 交 付 ⾜ 够 快 保 证 业 务 ⾜ 够 稳 催⽣ 促进 为什么测试环节会成为持续交付中的瓶颈? 03. 价值衡量 • 需求/⽤户故事的⻛险评估缺失; • 关键性核⼼业务测试评估不⾜。 02. 碎⽚化管理 • 测试⼯具使⽤碎⽚化,不同的测试⼯ 具之间不兼容、⽆联动; • 测试⼈员管理碎⽚化,不同的测试⼈ 员协同缺失。 01. 测试速度 • ⾮探索性⼿⼯执⾏⽤例⽐重过多; • ⽤例编写和维护在协同上较为冗余; • 测试环境准备,测试报告整理等花费了⼤ 量的时间。 开发中 等待测试 测试中 因为下游处理能⼒不⾜导致的阻塞 图⽚来源:《持续交付 2.0》 造成测试阻塞的三个⽅⾯ 测试平台是提⾼⽣产能效最⾼效⽅法之⼀ 开发中 等待测试 测试中0 码力 | 45 页 | 4.65 MB | 1 年前3应用 waPC (rust) 做软件测试工具
第三届中国 Rust 开发者大会 应用 waPC (rust) 做软件测试工具 Alan poon 潘泳权 大家好! @rustropy_gaming ruito_89 PhoTto / image / chart Webassembly Procedures Call waPC 协议标准化了本机代码调用 WebAssembly 和 WebAssembly 调用本机代码的通信 (messaging) modified request • 模拟数据规则 • 自动化测试 • https://github.com/wasmmock/ wasm_mock_server • 用 rust 打包所有测试需求 Wasm mock server Why use rust ? Software testing tool • 模拟数据规则 • 自动化测试 • Company's own protocol • Multiple backend product line with complex upstream • Common testing platform 大公司抓包工具的需求 软件测试工具 • 模拟数据规则 • 自动化测试 • Supports http/https/tcp/websocket(MITM) • Can use rust to construct own protocol0 码力 | 30 页 | 2.50 MB | 1 年前3ServiceComb 微服务框架
ServiceComb 微服务框架 杨波 ServiceComb 社区 / 华为开源软件能力中心 全栈生态:具有完整开源生态技术栈的解决方案,完全无商业Lock-in,支持平滑上云 配置中心生态 Others…… 微服务生态 ServiceComb 微服务解决方案 处理链 ServiceComb微服务解决方案 Java编程 (POJO/SpringM VC/JAX-RS) ServiceMesh ServiceCenter 是一个使用Go构造的、建立在etcd存储上的高性能、高 可用服务中心。 Java Chassis是一个由编程模型、运行模型、通信模型和服务契约四个 部分组成的微服务框架。 Saga 是一个微服务数据一致性解决方案。 ServiceComb的开放性设计 •Provider与Consumer具有完全 一致的开发体验 •通信模型与编程模型隔离,适 应不同业务场景需求0 码力 | 11 页 | 668.81 KB | 1 年前3【PyTorch深度学习-龙龙老师】-测试版202112
明 得益于简洁优雅的设计理念,基于动态图的 PyTorch 框架在学术圈广受好评,绝大多数 最新算法是基于 PyTorch 实现的,众多的第三方 AI 框架应用,例如 mmdetection、mmaction2、 transformer、speechbrain 等均以 PyTorch 为基础开发,可见掌握 PyTorch 框架在人工智能行 业中的重要地位。 本书基于清华大学出版社出版的《TensorFlow 以预见地,本书会存在部分语句表达不准确、部分素材尚未创作完成、部分参考引用未能及 时补充、甚至一些错误出现,因此本书以开源、免费地方式发布,希望一方面能够帮助初学 者快速上手深度学习算法,另一方面也能汇聚众多行业专家们的力量,修正测试版中的谬误 之处,让本书变得更为完善。 本书虽然免费开放电子版,供个人学习使用,但是未经许可,不能用于任何个人或者企 业的商业用途,违法盗版和销售,必究其法律责任。 龙龙老师 2021 预览版202112 简 要 目 录 人工智能绪论 1.1 人工智能 1.2 神经网络发展简史 1.3 深度学习特点 1.4 深度学习应用 1.5 深度学习框架 1.6 开发环境安装 1.7 参考文献 第 2 章 回归问题 2.1 神经元模型 2.2 优化方法 2.3 线性模型实战 2.4 线性回归 2.5 参考文献0 码力 | 439 页 | 29.91 MB | 1 年前31.3 七牛如何做HTTP服务测试
七牛如何做 HTTP服务测试? 许式伟 2015-4-18 HTTP服务测试 • 单元测试 – 某个独立子服务的测试 • 集成测试 – 整个集群对外业务API的测试 • Stage环境 • Product环境 怎么测? • 七牛早期做法 – 实现服务逻辑(Service Implementation) Implementation) – 基于客户端SDK写测试案例(Test Case) • 问题 – 客户端SDK修改导致测试案例编不过 – 客户端SDK通常是使用方友好,而不是测试方友好 – 让服务端与客户端SDK耦合,容易过早陷入客户端SDK如何抽象 更合理的细节,而不能专注于测试服务逻辑本身 换个角度 • 直接基于协议测试呢? – 比如,基于 http Client 类直接写测试案例 • 问题 – 代码相对冗长 – 业务逻辑表达不直观 • 写一些辅助函数能够略为改观,不过会有逐步写测试专用SDK的倾向 七牛当前做法 • 引入 httptest DSL 文法 • 更接近基于 http.Client 写测试案例的思路 – 但努力让代码更直白体现测试用意 Hello0 码力 | 27 页 | 422.11 KB | 1 年前3GoFrame框架介绍及设计
GoFrame框架介绍及设计 郭强 成都医联科技 架构师 目 录 框架介绍 01 模块化设计 02 统一框架设计 03 代码分层设计 04 对象封装设计 05 DAO封装设计 06 未来发展规划 07 框架介绍 第一部分 • 框架介绍 • 框架架构 • 项目初心 框架介绍 GoFrame是一款模块化、高性能、企业级的Go基础开发框架。 • 模块化、松耦合 • 模块丰富、开箱即用 模块丰富、开箱即用 • 简洁易用、快速接入 • 文档详尽、易于维护 • 自顶向下、体系化设计 • 统一框架、统一组件、降低选择成本 • 开发规范、设计模式、代码分层模型 • 强大便捷的开发工具链 • 完善的本地中文化支持 • 设计为团队及企业使用 特点 框架介绍-框架架构 • 发布方式:Docker、二级制、源码模块 • 模块管理: • 核心模块、社区模块、三方模块 • 台特性 框架介绍-项目初心 工程化建设 统一框架 核心组件 项目架构 设计模式 开发规范 开发文档 开发工具 …… 模块化设计 第二部分 • 复用原则 • 单仓包设计 • 模块聚合设计 • 常见问题 模块化设计 什么是模块? 模块化的目标? 模块也称作组件,是软件系统中可复用的功能逻辑封装单位。 在不同的软件架构层次,模块的概念会有些不太一样。 在开发框架层面,模块是某一类功能逻辑的最小封装单位。0 码力 | 37 页 | 8.84 MB | 1 年前3go web 框架 严清
Frameworks Web Service 框架解决的核⼼心问题 —— 严清 teambition 团队协作⼯工具创导者 关于我 • 五年年 JS ,⼀一年年 Go,也玩 Rust Github 满满绿格⼦子⻅见证我开发⽣生涯的⼀一⾯面 • 16 年年底组建 Go 团队,重构后端服务体 系,为此造了了⼀一些轮⼦子,如 Gear 框架 基于 kubernetes 和 SOA,部分已上线,如 web 框架 HTTP能⼒力力确实相对完整 • 即使有更更复杂的需求,即插即⽤用的包管理理 机制也能轻易易实现 Go 的⼤大糟点啊,学学 Rust • 第三⽅方框架都有学习成本,踩上坑就得潜 ⼊入源码求解决 其实就两三千⾏行行代码,都是精华,值得 看 如果你只写 Hello World 或 Todolist,或者是个⼈人开发者、爱折腾,没问题! 否则,还是使⽤用⼀一款框架吧! Web 框架要解决三个核⼼心问题 • 定义灵活、⼀一致的开发模式 简单易易上⼿手,⽀支撑⼤大规模复杂应⽤用,⽀支撑团队开发 • 集成简洁、完善的异常处理理能⼒力力 不不被 if err != nil { } 羁绊,不不放过任何异常,优雅漂亮地处理理错误和异常 • 提供强⼤大、实⽤用的 HTTP 操作⽅方法语法糖 写 web 服务就是操作 HTTP,实⽤用语法糖极⼤大提升开发⼈人员的幸福指数0 码力 | 23 页 | 333.12 KB | 1 年前3Kubernetes 异常配置检测框架
顾静, 阿里云 邓隽, 阿里云 Kubernetes 异常配置检测框架 我们来自阿里云容器服务 • 顾静,研发工程师 • 邓隽,技术专家 我们参与打造 • 容器服务(ACK/ASK) • 容器镜像服务(ACR) • 服务网格(ASM) • … 1 Kubernetes 典型异常 2 检测框架演进 3 生产实践 4 总结 Kubernetes 使用日常 • 应用部署 • Kernel 仅能检测 Kernel 相关问题 要求熟悉 bpftrace 语言 1 Kubernetes 典型异常 2 检测框架演进 3 生产实践 4 总结 我们的目标 实现 Kubernetes 集群异常检测框架 支持集群多维度异常检测能力 支持集成开源检测组件 检测框架 Ver.1 { 自动化 Ver.1 自动化 Autopilot Engine Command Policy 边缘集群、GPU 集群 各类检测场景 • 节点、组件、配置等 • 集群升级、集群巡检 版本差异 * 类型差异 * 场景差异 检测项 Ver.1 优化点 检测代码在膨胀 检测能力迭代需要加速 检测框架 Ver.2 { 动态定制 动态扩展 Ver.2 DSL DSL (Domain-Specific Language) • 领域特定语言指专注于某个应用程序领域的计算机语言 • 目标受众为非程序员、业务员或最终客户0 码力 | 31 页 | 9.57 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100