PingCAP TiDB&TiKV Introduction OLTP
无状态的分布式 SQL 层 ● MySQL 协议兼容 ● 针对分布式场景的执行计划,优化器 ○ Push-down / MPP ● Online DDL ○ 业务不中断,进行表结构变更 TiDB 逻辑架构 ● 支持关系型的表结构 ● 全局一致索引 ● 通过 Map-Reduce 或 SQL 并发无锁读 TiDB Server TiDB Worker TiDB Worker TiDB Worker TiKV ● 开源正在蚕食数据库市场 ○ MongoDB / Cassandra / MySQL / PostgreSQL / Spark … ● 开源 != 免费 ○ 社区版 ○ 企业版(监控管理插件、优化插件、数据安全插件、企 业服务及培训) 代表 Datastax CoreOS Docker Mesosphere MongoDB Cloudera 估值($) 10亿 10亿 20亿 10亿 20亿0 码力 | 21 页 | 613.54 KB | 5 月前3蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘
1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 ü解码:对 ü 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Ø提供可扩展的路由寻址能力 arena ü大于 32K 的大内存分配顺序 mheap -> arena ØGC 优化 ü避免入堆 ü减少内存 copy ü内存使用整体化,降低 scanobject 成本 ü使用 GC 亲和的数据结构 ü适度使用 sync.Pool ü…IO 4 Ø优化 ü尽可能多读,同时减少SetReadDeadline频繁调用,实现见 IOBuffer.ReadOnce ü适度 buffer 写数据,频繁写系统0 码力 | 44 页 | 4.51 MB | 5 月前3SOFAMesh的通用协议扩展
Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 作为 DNS 来寻址服务 • 开发一个通用协议处理框架 • 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议 • 对应用代码无侵入性 • 为微服务框架提供轻量化客户端落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持(开箱即用模式下也可以省掉)DNS 寻址目标 • 允许应用把接口当做域名来访问远端服务 • 支持在 Kubernetes DNS 之上构建更结构化的域名体系 • 支持跨集群的服务寻址 • 支持单应用多服务的部署模型 bolt://com.yourcompany.youservice:12220POD 落地形态 Services, PODS 通用协议扩展目标 • Kubernetes Native,高性能,低侵入性的通用 Mesh 落地方案 • 支持新 RPC 框架和通信协议低成本接入 • 协议扩展对 Mesh 控制平面透明化 • 允许对协议多层次,插件化的扩展X-PROTOCOL 配置SOFA MOSN 调用流程 Upstream protocol X APP [light client] app user version 1.0.00 码力 | 28 页 | 4.73 MB | 5 月前324-云原生中间件之道-高磊
场景 数据源 数据日志 消息数据 订单数据 云原生 DB 高并发写入 用户 MR 云DB 用户 日志消息类数据实时分析 支持企业低成本、大容量存储和查询各类日志、消息、交易、用户行为、画像等 结构化/半结构化数据,支持高吞吐量实时入库及数据实时查询,实现数据资源 智慧化运营。 优势 低成本存储: 支持PB级数据存储 高并发: 千亿数据实时分析 数据源 设备监控 传感器 轨迹数据 车联网 业务集群 物联网套件写入 Ceph文件存储 MiniO对象存储 • Operator:实现自动启动存储集群,并监控存储守护进程,并确保存储 集群的健康; • Agent:在每个存储节点上运行,并部署一个 CSI / FlexVolume 插件, 和 Kubernetes 的存储卷控制框架进行集成。Agent 处理所有的存储操 作,例如挂载存储设备、加载存储卷以及格式化文件系统等; • Discovers:检测挂接到存储节点上的存储设备。0 码力 | 22 页 | 4.39 MB | 5 月前3Curve核心组件之Client - 网易数帆
https://github.com/opencurve/curve-qemu-block-driver NBD: 实现了Curve-NBD,与内核NBD模块进行交互 可以作为容器的数据存储 CSI插件也已经开源: https://github.com/opencurve/curve-csi CLIENT上层应用CLIENT虚拟块设备CLIENT主要功能 提供接口 数据面:AioW -client, 所以client版本需要升级时,需要对QEMU进 程进行重启。NEBD 整体介绍 在QEMU和Curve Client中间加入热升级模块,避 免直接依赖 热升级模块是CS结构: NEBD Client(part1):只包含轻量的业务逻辑, 以链接库的形式提供给QEMU使用 NEBD Server(part2):将NEBD Client的请求转 发到Curve0 码力 | 27 页 | 1.57 MB | 5 月前336-云原生监控体系建设-秦晓辉
SSD 或 NVME 的盘 • 采集方式可以参考 categraf 仓库的 k8s/deployment.yaml,如果是 sidecar 模式,就直接使 用 categraf prometheus 插件即可,大盘可以参考 k8s/etcd-dash.json • etcd_server_has_leader etcd 是否有 leader • etcd_server_leader_changes_seen_total terminated状态,等等 • 资源对象的监控使用 kube-state-metrics,这个开源项目是基于 client-go 开发,轮询 Kubernetes API,并将 Kubernetes 的结构 化信息转换为 metrics • 支持右侧罗列的相关资源对象的指标 • 比如Pod的指标,会有 info、owner、status_phase、status_ready、 status_sched0 码力 | 32 页 | 3.27 MB | 5 月前323-云原生观察性、自动化交付和 IaC 等之道-高磊
交付人员学习手册文档,需要在客户 环境做“安装配置”和“与遗留系统集成” 两方面工作。 2. 安装配置:在硬件上安装软件,不乏 针对硬件特性的适配、还需要安装OS 等,最后还要在OS上安装应用,并且 还要保证应用软件依赖拓扑结构不会 出错。 3. 集成点:包括新环境的硬件、软件和 应用与遗留系统的集成,比如,监控、 服务注册中心、文件传输、消息集成、 ITSM等系统的部署集成。 4. 由于上层所依赖的底层环境在不同交 付环境中是不同的,而传统交付方式 AppConfig嵌入到Ansible 的PlayBook中。 Host Inventory 主机清单 PlayBooks 剧本 核心模块 自定义模块 Plugins Email、logging、 other 插件 Ansible 负责解析剧本并通过连 接器执行 Connector 连接受控端 主机 主机 主机 DevOps-CICD 软件制品库 Docker引擎安装包、K8S安 装包、数据库等等 投放剧本(Yaml)0 码力 | 24 页 | 5.96 MB | 5 月前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . 88 5. 使用结构体组织相关联的数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.1. 结构体的定义和实例化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2. 结构体示例程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2. match 控制流结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 9 天前303-基于Apache APISIX的全流量API网关-温铭
APISIX • 天然的云原生 API 网关 • 中国最快毕业的 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… • 40 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 • 高可用,没有单点故障 • 安全和稳定第一:基于 Nginx 实现;mTLS 认证;敏感信息加密加盐(salt)保存 Dubbo、gRPC… • 替代 Nginx 处理南北向流量 • 替代 Envoy 处理服务间东西向流量 • k8s ingress controller • 借助 MQTT 插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 Apache APISIX 的技术优势 Apache APISIX 的技术优势 • Apache APISIX 的路由复杂度是 O(k),只和 uri 的长度有关,和路由数量无关;kong 开放了自定义负载均衡的挂载点,其他网关都不支持 独创的插件编排/低代码 API 网关 Plugin Orchestration • Kong:支持 Go 编写的插件 • Envoy:支持 Lua、WASM 编写的 filter • Apache APISIX:为什么要“写”插件?ops、PM 也可以直接创造一个插件 • 解决方案:微插件、低代码,需要底层架构和插件足够灵活 有众多信赖的全球领军企业, 带来足够多的新问题0 码力 | 11 页 | 6.56 MB | 5 月前3探讨和实践基于Istio的微服务治理事件监控
比如说黑白名单,权限。 • Quota:访问次数 • Report: 日志。Mixer的二次开发流程Mixer插件工作模型 上述的过程中,Envoy所做的数据收集、上传是自动完成的,而Mixer生成模版实例则 可以通过配置来完成。因此,所谓的Mixer插件实际上就是Adapter,开发Mixer插件 也就是开发Adapter。两种开发模式 几种开发模式,以及写一下两种方式的区别 Compiled In ances Instances。属性映射。基于Mixer的二次开发Rules Rules。将数据交付给适配器。 定义了一个特定的 Instance 何时调用一个特定的 Handler插件编译和镜像打包 插件的编译 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build - a -installsuffix cgo -o eventadapter 镜像制作的dockerfile0 码力 | 29 页 | 8.37 MB | 5 月前3
共 44 条
- 1
- 2
- 3
- 4
- 5