大规模高性能区块链架构设计模式与测试框架-李世敬证书管理 测试框架 治理层 权限体系 治理模型 区块链审计 BaaS运维治理 应⽤层 司法存证 供应链⾦融 智慧政务 物联⽹ 能源电⼒ 跨境贸易 ⼯业物联⽹ 智慧城市 ... 不同于完全开放、任何⼈可以加⼊退出的⾮许可链,许可链架构与其差异性在于节点和⽤户在区块链⽹络中的准 ⼊要求。且⾮许可链⽹络节点⼤都由业务相关的机构组成,造成架构上共识、合约、安全、权限等⽅⾯的不同 13 趣链科技 证书管理 测试框架 治理层 权限体系 治理模型 区块链审计 BaaS运维治理 应⽤层 司法存证 供应链⾦融 智慧政务 物联⽹ 能源电⼒ 跨境贸易 ⼯业物联⽹ 智慧城市 ... 不同于完全开放、任何⼈可以加⼊退出的⾮许可链,许可链架构与其差异性在于节点和⽤户在区块链⽹络中的准 ⼊要求。且⾮许可链⽹络节点⼤都由业务相关的机构组成,造成架构上共识、合约、安全、权限等⽅⾯的不同 �可�架构 n 数据量、网络复杂度指数上升,架构难扩展 16 趣链科技 版权所有 ©2016-2021 主链 节点 节点 锚节点 锚节点 节点 节点 同构⼦链 同构⼦链 主链 • 存证 • 权限控制 基础⼦链 扩展⼦链 • 同构⼦链直接通过主链互通 • 异构⼦链需借助⽹关实现互通 异构⼦链 锚节点 节点 ⽹关 • 治理 • 监管友好 ⼆层⼦链 ⼆层⼦链 锚节点 锚节点0 码力 | 39 页 | 56.58 MB | 1 年前3
IPC性能极致优化方案-RPAL落地实践虚拟地址冲突问题; 2. 页表隔离问题; 3. 内存安全性问题; 全进程地址空间共享与保护 地址空间气泡方案 全进程地址空间共享与保护 1. Intel x86 中,每个 leaf page table 的页表项的第59-62位称为 Protection Key,这 4 bits 可以将页表 项划分为 16 个域,从而可以给每一个域单独赋予一个权限; 2. Intel x86 为每个线程提供了一个寄存器 PKRU (User Page Key Register),其长度为 32 bits,每 2-bit 对应页表中的一个 Protection Key,分别为 WD 位和 AD 位,用于控制所在域的内存访问权限。 用户态进程切换 第三部分 用户态进程切换 传统线程切换 rpal线程切换: 用户态进程切换 用户态进程切换 延迟进程切换 1.发生 Kernel Entry 时,sender 线程将0 码力 | 39 页 | 2.98 MB | 1 年前3
基于open-falcon的平安云监控mysql web alarm gitlab 问题&目标 Ø 问题 Ø 没有异地容灾 Ø 跨区域上报数据,会产生大量专线流量 Ø 隔离性不好 Ø 目标 Ø 异地容灾、高可用 Ø 节省专线带宽 Ø 支持三级网络架构 Ø 支持按照租户进行隔离 Ø 运维入口统一 argus的架构 可用区 云管区(主备) 公共服务区 云管区(深圳、上海、廊坊) agent gateway 主机组 模板 模板 父模板 父模板 联系人 联系人 策略 策略 策略 策略 策略 策略 租户隔离 解读argus的架构 Ø 异地容灾,高可用 Ø 所有模块可横向扩展 Ø 性能数据分三地存储,节省大量专线带宽 Ø 运维入口唯一,用户友好 Ø 兼顾了通用、个性化的监控需求 Ø 做到租户隔离 目录 Ø 团队介绍 Ø 背景 Ø 系统定位 Ø argus是什么 Ø 为什么选用Go0 码力 | 30 页 | 10.40 MB | 1 年前3
Golang 微服务在腾讯游戏用户运营领域的探索及实践服务化架构演进 演进历程 MVC Middleware Gateway MicroServic e 经典LNMPA架构 先抗住再优化 业务混合部署 面向需求实现 效率质量之痛 流程 敏捷 隔离 性能 安全 监控 中间件技术选型 团队背景 内部生态 业务发展 开发成本 运营成本 Golang CSP并发 多核友好 自动GC 语法简洁 开源库多 CGO集 成 快速交付 高可用 扩展性 安全性 可运营性 业务发展驱动技术演进 服务网关 过载保护 流控降级 SET部署 立体监控 敏捷集成 微服务探索 跨部门 异构系统 非标接口 托管接入 业务隔离 解析适配 IDL • 标准接口 • 字段约定 Script 转码逻辑 • 非标接口 • 逻辑编码 问题 手段 嵌入脚本选型 • Expression、Learning cost Performance / API friendly GopherLua 交互开销 线程 安全 VM线程开 销 学习 成本 嵌入式Lua虚拟机 Gopherlua VM Pool Closure 隔离 即写即用 One VM One Service, Write Once Run Anywhere 微服务划分 Intervene 干预 Measure 评估 User 用户 •0 码力 | 34 页 | 1.22 MB | 1 年前3
04. GraphQL in Chaos Mesh 2.0 - 李晨曦令来获取。它存在的主要问题是查询客户端所需权限过高。 pod/exec 使用样例:列出 daemon pod 上正在运行的进程。 状态查询的障碍3 对于所有的状态查询都存在的一大问题是,各级状态之间很难进行关联查询。 人脑关联查询示例: 状态查询的解决方案 首先我们考虑障碍1,要避免查询客户端所需权限过高,最简单的办法就是在一个拥有创建 pod/exec 权限的组件上运行一个 API server server 来运行查询命令,而查询客户端仅创建 pod/forward 权限即可与 API server 通信。 Query Client API Server Target Pod pod/forward pod/exec 状态查询的解决方案 现在假定我们已经引入了一个 API server,仅考虑障碍1的查询噪音问题,有 nested resources(类 似 k8s API chaos daemon。 具体的做法是在 chaos daemon 的安装 namespace(如 chaos-testing)中给 controller manager 创建 pod/exec 的权限,然后创建 chaos daemon pod 上的 exec 命令,调用 nsenter 以在各节点的目标 pod 上运行查询命令。 Target Pod API Server Daemon0 码力 | 30 页 | 1.29 MB | 1 年前3
Go Web编程runtime包中有几个处理goroutine的函数: Goexit 退出当前执行的goroutine,但是defer函数还会继续调用 Gosched 让出当前goroutine的执行权限,调度器安排其他等待的任务运行,并在下次某个时候从该位置恢复执行。 NumCPU 返回 CPU 核数量 NumGoroutine 返回正在执�行和排队的任务总数 GOMAXPROCS 目录操作 文件操作的大多数函数都是在os包里面,下面列举了几个目录操作的: func Mkdir(name string, perm FileMode) error 创建名称为name的目录,权限设置是perm,例如0777 func MkdirAll(path string, perm FileMode) error 根据path创建多级子目录,例如astaxie/test1/test2。 建立与打开文件 新建文件可以通过如下两个方法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写 的。 func NewFile(fd uintptr, name string) *File 根据文件描述符创建相应的文件,返回一个文件对象 通过如下两个方法来打开文件:0 码力 | 295 页 | 5.91 MB | 1 年前3
03. Golang 在隐私计算平台建设中的实践 - 刘敬⾏行行环境按照数据隐私密级进⾏行行价 值共享 • 业务应⽤用层 基于SDK接⼊入上层业务系统 趣链科技版权所有©2016 – 2021 10 隐私计算流程 • 通过区块链进⾏行行数据使⽤用权限 的控制以及隐私计算任务的协 作 • 链下节点间基于隐私计算算 法,使⽤用多⽅方数据进⾏行行密态计 算,利利⽤用密码学算法达到“明 ⽂文数据不不出本地,计算结果定 向汇集”的数据计算效果,解 区块链节点 隐私计算节点 本地数据库 发起⽅方节点 隐私计算节点 本地数据库 参与⽅方节点A 隐私计算节点 本地数据库 参与⽅方节点B 1.创建任务 2.完善⼦子模型 并分发 3. 权限校验 5. 执⾏行行隐私计 算算法 4.模型审核 6.返回隐私计算结果 7.记录上链 趣链科技版权所有©2016 – 2021 11 匿匿踪查询 集合运算 矩阵运算 基础运算 统计分析0 码力 | 37 页 | 6.20 MB | 1 年前3
2.2.5 Go 如何助力企业进行微服务转型fork请求,proxy验证 • 定期复盘过程,总结可复制套路 • 汇报成果,让领导看到收益 数据拆分 • 数据不能乱,规则先确定 • 定义数据边界,避免数据冗余 • 数据库互相隔离,避免故障传递 • No join, no pain! ⽤户 商品 订单 物流 接⼝聚类收敛 • 按功能聚类接⼝ • 避免微服务过微 • 避免调⽤链路过深 正确性验证 • 循序渐进可回滚0 码力 | 25 页 | 4.51 MB | 1 年前3
云原生go-zero微服务框架设计思考Redis集群 Redis集群 数据库 MySQL集群 MongoDB集群 ClickHouse集群 服务发现 ETCD集群 Redis集群 代码未动,数据先行 ● 定义数据边界 ● 数据库互相隔离,通过RPC访问 ● No join, no pain! 用户 商品 订单 物流 如何设计缓存 ● 缓存穿透,不存在的数据 ● 缓存一分钟 ● 缓存击穿,热点key过期 ● 只拿一次数据,共享结果0 码力 | 29 页 | 5.70 MB | 9 月前3
Golang在接入层长连接服务中的实践-黄欣– 正常情况下: • 任何一个机房可推送到所有机房app – 异常情况下: • 本机房内推送可达 • 架构图如下 (核心解决路由共享问题) 架构—总结 • 异步通信接口 • 协议包业务态隔离 • 简单无状态 • 有状态的服务(涉及到存储)做到可降级 • 核心业务有自愈逻辑 简单实用,避免过度设计 目录 • 背景 • 架构 心得—coding • 代码分层 – 提高开发效率 –0 码力 | 31 页 | 1.67 MB | 1 年前3
共 20 条
- 1
- 2













