PingCAP TiDB&TiKV Introduction OLTP
本,无法线性扩容问题日益突显 ;分布式及 NoSQL 开始快速发 展,如 MongoDB • 挑战:擅长简单读写,无法处理 交易类数据及复杂业务逻辑的特 性限制其在非互联网领域的发展 • 背景:随着互联网向银行、电信、电 力等方向的渗透,传统行业数据量 迅速提升,需要同时满足低成本、线 性扩容及能够处理交易类事务的新 型数据库,大数据的存储刚需不可 避免 • 挑战:基于 Google Spanner/F1 论 文,基础软件最前沿的领域之一,技 Worker TiKV Query Write TiKV ● 开源的 Spanner 实现 ● 基于 Raft 多副本一致性算法 ○ 使用Multi Raft支持Dynamic Scale ● 支持类 Percolator 分布式事务 ● 提供 MVCC 支持 ○ RocksDB RocksDB Raft KV MVCC Transaction API RPC Store4 Raft groups ● 开源正在蚕食数据库市场 ○ MongoDB / Cassandra / MySQL / PostgreSQL / Spark … ● 开源 != 免费 ○ 社区版 ○ 企业版(监控管理插件、优化插件、数据安全插件、企 业服务及培训) 代表 Datastax CoreOS Docker Mesosphere MongoDB Cloudera 估值($) 10亿 10亿 20亿 10亿 20亿0 码力 | 21 页 | 613.54 KB | 5 月前316-Nocalhost重新定义云原生开发环境-王炜
机运⾏应⽤,修改代码后实时⽣效,通过 浏览器访问 Localhost 实时查看代码效果。 单体应⽤和“微服务”应⽤不同,单体应⽤是 “ALL-IN-ONE” 组织⽅式,所有的调⽤关系仅限于在⾃身的类和函 数,应⽤对硬件的要求⼀般也不会太⾼。 ⽽开发“微服务”应⽤则⼤不相同,由于相互间的依赖关系,当需要开发某⼀个功能或微服务时,不得不将所 有依赖的服务都启动起来。随着微服务数量的增加,开发应⽤所需要的本地资源越来越多,最终导致本地⽆ 摆脱每次修改需要重新 build 新镜像以及⻓时间的循环反馈,修改代码⽴即⽣效 ⼀键部署开发环境,摆脱本地环境搭建和资源不⾜的限制 本地 IDE 编辑器和开发环境联动,⽀持远程调试 图形化的 IDE 插件,⽆需熟悉 kubectl 命令即可完成云原⽣环境下的开发 管理⼈员: 统⼀管理微服务应⽤包,降低应⽤的维护成本 统⼀管理开发环境和集群,提⾼集群资源的利⽤率,同时具备隔离特性 为新员⼯快速分配开发环境,分配环境后⽴刻能进⾏应⽤开发 TKE、Mnikube、Kind 等 已配置好 kubectl 且能访问 Kubernetes 集群 集群开启了 RBAC 安装 Visual Studio Code(1.52+) 和 Nocalhost 插件 安装 nhctl cli ⼯具(https://nocalhost.dev/installation/) 对于 TKE 等⽀持 LoadBalancer 的集群,运⾏以下命令来快速初始化: Nocalhost0 码力 | 7 页 | 7.20 MB | 6 月前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 如果是从第三方采购的产品, 我们也尽量要求供应商统一暴 露 prometheus 接口,也别去 处理日志 业务应用依赖的中间件 的监控 业务应用依赖的中间件的监控 • 典型的监控方案分3类,一类是 sidecar 方式,一类是动态改配置,最后一类是中心端统一采集 • sidecar 方式:中间件部署在容器里,比如 zookeeper 或 rabbitmq,直接暴露了 /metrics 接口,可以做一个 sidecar0 码力 | 32 页 | 3.27 MB | 6 月前3Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展
Services How to map multiple logic services inside one process to Istio service?产品化增强-兼容粗粒度的SOA类应用 Process Service-A Service-B Service-C Sidecar Process Process Service B Process Service-E 的 相互影响; 网络设计冗余,增强系统网络的健壮性; 为不同的网络提供不同的 SLA ;通过网络隔离提高安全性;通过叠加多个网络增加系统带宽 上图中的Kubernets集群使用了Knitter网络插件,部署了四个网络平面产品化增强-支持多网络平面 Istio1.0中不支持多网络平面,当服务地址和Envoy地址分别位于两个网络上时,会导致转发请求时 发生死循环,导致socket耗尽,Envoy不停重启。 V1 Service V1 Service V1 Service V2 存量网络设备 “金丝雀”设备 消息上报 “金丝雀”用户 灰度发布应 用 运维 通过Envoy插件和Istio协议扩展来实现?产品化增强-其他 • APP:灰度发布、流量控制,更多的APP待业务场景触发 • IPV6支持增强 • 在Istio中集成方法级的调用跟踪 • 在Istio中集成Kafka调用跟踪上游开源社区参与情况0 码力 | 27 页 | 11.99 MB | 5 月前324-云原生中间件之道-高磊
足一定的吞吐量要 求 存算分离: 自动调整、拓展能 力强,满足更大吞 吐量 存储自动扩缩容 手工填加机器, 手工同步 完全自动化 高性能 存在性能瓶颈 类似日志方式的顺 序写,性能高 易用程度 封闭体系,集成各 类优秀能力较差 集成能力强,多模 态接口,兼容各类 协议 可用性、稳定性 需要强大的旁路运 维能力 简化运维、自动化 容量和故障转移 云原生数据库其特点,使得应用场 景会更加广泛 高级能力-云原生数据库-应用的基石-2-技术架构 供了一个范本,并不是原封不动的迁移就变成云原生 高级能力-云原生数据库-应用的基石-3-场景 数据源 数据日志 消息数据 订单数据 云原生 DB 高并发写入 用户 MR 云DB 用户 日志消息类数据实时分析 支持企业低成本、大容量存储和查询各类日志、消息、交易、用户行为、画像等 结构化/半结构化数据,支持高吞吐量实时入库及数据实时查询,实现数据资源 智慧化运营。 优势 低成本存储: 支持PB级数据存储 Ceph文件存储 MiniO对象存储 • Operator:实现自动启动存储集群,并监控存储守护进程,并确保存储 集群的健康; • Agent:在每个存储节点上运行,并部署一个 CSI / FlexVolume 插件, 和 Kubernetes 的存储卷控制框架进行集成。Agent 处理所有的存储操 作,例如挂载存储设备、加载存储卷以及格式化文件系统等; • Discovers:检测挂接到存储节点上的存储设备。0 码力 | 22 页 | 4.39 MB | 6 月前3Rust 程序设计语言 简体中文版 1.85.0
阅读专门介绍程序设计的书籍。 如何阅读本书 本书大体上假设你按从头到尾的顺序阅读。后面的章节建立在前面章节概念的基础上。前面的 章节可能不会深入介绍部分主题,而是留待后续章节重新讨论。 本书分为两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项 目章节中,我们应用目前所学的知识一同构建小型程序。第二、十二和二十一章是项目章节; 其余都是概念章节。 第一章介绍如何安装 时也有类型推断。当我们写出 let guess = String::new() 时,Rust 推断出 guess 应该是 String 类型,并不需要我们写出类型。另一方面,secret_number,是数字类型。几个数字类 型拥有 1 到 100 之间的值:32 位数字 i32;32 位无符号数字 u32;64 位数字 i64 等等。 Rust 默认使用 i32,所以它是 secret_number 的类型,除非增加类型信息,或任何能让 42/562Rust 程序设计语言 简体中文版 数据类型 在 Rust 中,每一个值都有一个特定 数据类型(data type),这告诉 Rust 它被指定为何种数 据,以便明确数据处理方式。我们将看到两类数据类型子集:标量(scalar)和复合 (compound)。 记住,Rust 是 静态类型(statically typed)语言,也就是说在编译时就必须知道所有变量的 类型。根据值及其使用方式0 码力 | 562 页 | 3.23 MB | 10 天前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金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
强大的扩展/定制化能力 APISIX 官方提供 80+ 插件 支持自定义插件,并且快速集成 支持多语言开发 golang python java wasm ...... 满足多协议的需求 APISIX Service Mesh 上手成本低 开发及扩展相当容易 性能优(尤其是多路由场景) 生态丰富,80+ 插件开箱即用 兼容 xDS,方便迁移 自定义 com/api7/amesh 下一个版本发布时间 12 月 未来展望 概览 APISIX Ingress处理南北向入口流量 APISIX Service Mesh处理东西向流量 APISIX专用插件配置等通过Amesh 下发 APISIX 全流量代理的价值 节约成本 统一技术栈 统一管理 复用技术经验 未来 结合APISIX xRPC实现 原生异构多协议支持 0 码力 | 34 页 | 3.50 MB | 5 月前3阿里巴巴核心应用洛地 Service Mesh 的挑战与机过
(Java/Go/C++ 等) 业务 (Java/Go/C++, etc) Serverless 业务 (Java/Go/C++, etc) 网格化的基础组件 (基于插件) 网格化的基础组件 (基于插件) Service Mesh BaaS 注册服务 配置服务 消息 缓存 K8s•未来应用开发一定是 云原生 •考验好产品的标准是 云原生 •经济、技术共同体是 愿景 短时间内支持电商业务复杂的服务治理功能 •扩展 VirtualService 和 DestinationRule#3 短时间内支持电商业务复杂的服务治理功能 •未来计划在 Envoy 中增加 WebAssembly 路由插件#4 解耦业务与基础设施 •实现 Sidecar 热升级,流量无损切换 1. 迁移至新的 Listener Fd 2. 告之新的请求重启链路,继续处理 老的回调 3. 请求重新连接使用新的0 码力 | 22 页 | 6.61 MB | 5 月前3
共 41 条
- 1
- 2
- 3
- 4
- 5