TGT服务器的优化
TGT 服务器的优化块设备协议 • NBD • Linux专有块设备协议 • iSCSI • 广泛支持的外部设备协议(块,磁带等)Curve云原生存储支持块设备 • 通过NBD,只支持Linux • 通过SDK API,目前只支持Linux • PFS • 扩大使用范围 • 通过iSCSI支持更多系统,例如Windows, 类UNIX系统等,使用两项基础 技术 • TCP/IP Client端: iscsi initiator,系统自带 • Linux open-iscsi • Windows iSCSI 发起者 • 服务器端 • 必须是CurveBS原生支持的平台,因为需要curve原生接口,目前是LinuxiSCSI target服务器 • LINUX LILO • 一般用于输出内核本地块设备 • TCMU • 作为LILO支持用户态的接口 • 如何评价LILO rve, brpc, c++, protobuf 等) • TCMU多了一层转接,配置过程复杂,业界踩的坑不够多。 • TCMU的用户态代码会受到框架约束,不够灵活。iSCSI target 服务器 • TGT(STGT) • 比较久的历史,原来叫STGT,后来改成TGT • 纯用户态,不与内核绑定 • 支持复杂的存储系统,例如ceph rbd, sheepdog, glfs • 纯C代码,外加一些脚本0 码力 | 15 页 | 637.11 KB | 5 月前3Creating a Sender/Receiver HTTP Server
TechAtBloomberg.com © 2024 Bloomberg Finance L.P. All rights reserved. • Create a basic HTTP server. • Allow a single-threaded server handling multiple clients. • Use the sender/receiver asynchronous std::execution (sender/receiver): http://wg21.link/p2300 • https://github.com/NVIDIA/stdexec.git • https://github.com/beman-project/execution26 • Sender/receiver networking: http://wg21.link/p2762 • Implementation: Implementation: https://github.com/beman-project/net29 • Async scope: http://wg21.link/p3149 Resources0 码力 | 8 页 | 2.19 MB | 5 月前3TiDB中文技术文档
为知识的传承献上您的一份力量! 如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取最新的文档,以跟上知识更新换代的步伐。 文档地址:http://www.bookstack.cn/books/pingcap-docs-cn 书栈官网:http://www.bookstack.cn 书栈开源:https://github.com/TruthHun 分享,让知识传承更久远! 感谢知识的创造 快速入门指南 TiDB 用户文档 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 数据目录 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 服务器日志文件 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 SQL 优化 理解 TiDB 执行计划 统计信息 语言结构 字面值 数据库、表、索引、列和别名 关键字和保留字 用户变量 表达式语法 快速部署一个 TiDB 集群,并了解 TiDB 的基本操作和管理。 本节具体介绍如何部署一个 TiDB 集群。一个 TiDB 集群由不同的模块组成,包括:TiDB 服务器、TiKV 服务 器、Placement Driver (PD) 服务器。 架构图如下所示: 参考 TiDB Ansible 部署方案。 本节具体介绍 TiDB 中基本的增删改查操作。 TiDB 快速入门指南 关于 TiDB 关于本指南0 码力 | 444 页 | 4.89 MB | 5 月前3Curve核心组件之snapshotclone
04 快照和克隆的特点 快照克隆服务器架构 快照的实现 05 克隆的实现CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 数据存储 • 副本一致性,raft • 客户端 Client • 对元数据增删改查 • 对数据增删改查 • 快照克隆服务器 • 快照 • 克隆快照和克隆的特点 克隆的特点 • 支持Lazy和非Lazy两种模式克隆 • 支持从快照克隆和从镜像(卷)克隆 • 支持从快照回滚 • 高可用,克隆任务中断自动拉起继续克隆快照克隆服务器架构 • 基于brpc提供restful API的对外http接口 HttpService: • Serivce层面区分上层请求为同步接口调用,还是异步接口调用, 同步接口调用直接调用Core层接口实现功能,异步接口创建Task, CloneTaskManager: • 快照克隆核心模块,负责向下调用DataStore,MetaStore等底层 模块,实现快照和克隆的具体功能。 SnapshotCore & CloneCore:快照克隆服务器架构 • SnapshotDataStore负责管理快照转储的数据块,通过调用 S3Adaptor(一个封装了s3 client的接口层)与S3交互,存取s3 中的对象。 SnapshotDataStore:0 码力 | 23 页 | 1.32 MB | 5 月前3PingCAP TiDB&TiKV Introduction OLTP
背景:应用最为广泛的数据库;能 很好的解决复杂的数据运算及表 间处理;多用于银行、电信等传 统行业复杂业务逻辑场景中,以 Oracle 为代表 • 挑战:成本高,随着数据量增加, 只能通过购买更贵更好的服务器 ;无法线性扩容,海量数据下处 理能力大幅下降 单机关系型(SQL) 分布式非关系型(NoSQL) 分布式关系型(NewSQL) • 背景:随着搜索 / 社交的发展,数 据量爆发增长,传统数据库高成 暂停业务 检验所有数据和原有数据的一致性 切换路由配置 上线后测试验证 开始业务 (中间有问题都需要进行相应的重试 或者回滚方案) 周级别 人工方式:简单命令行,按需 增加服务器、删除服务器 自动方式:通过API接口,自动 增加或删减服务器 人工方式 1分钟 自动方式 0 NewSQL - 数据中心容灾、多活的完美解决方案 方案 方案特点 传统硬件数据复制方案 1、造价昂贵(存储、带宽),两中心硬件配置需完全一致(存储、主机) 在市场费用为0的情况下,TiDB 已经成为明星项目,获得广泛的认可和关注 附: SDCC 对我司 CEO 刘奇的采访 http://dwz.cn/3qW56Y DTCC(中国数据库技术大会)对我司 CTO 黄东旭的采访 http://dwz.cn/3gcZLC 项目地址 TiDB: http://github.com/pingcap/tidb TiKV: https://github.com/pingcap/tikv0 码力 | 21 页 | 613.54 KB | 5 月前3Service Mesh Meetup #3 深圳站
路由到单个后端实例。当部署第二个客户端时,它可能被路由到另 一个后端实例。这不是所需的那种负载均衡,因为它不允许独立地 扩展客户端和服务器。当客户端实例比服务器实例少时,一些服务 器实例将处于空闲状态,所以 Kubernetes Service 不太适合 gRPC 负 载均衡。—摘自:http://www.k8smeetup.com/article/N1yW3gPNXgRPC LoadBalancing • gRPC • 想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar 代理,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的 所有网络通信。Istio 的特点 • HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。 • 通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行 为进行细粒度控制。 • 可插入的策略层和配置 API,支持访问控制、速率限制和配额。 默认是开启全局安全和防止跨站点请求伪造(这个在测试时你可能需要关闭) • Kubernetes(Minikube) • —bootstrapper=localkube • Istio • GreatWall(http://blog.samemoment.com/articles/kubernetes/) • 应该是给我造成最多最大的问题 • SSCNCF(Cloud Native Computin Foundation)0 码力 | 45 页 | 18.62 MB | 5 月前3探讨和实践基于Istio的微服务治理事件监控
机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 可细粒度排查应用单次链路调用 的包括日志、网络数据在内的所 有信息。 宏观下的监控需求 链路总体展示 展示整个服务调用过程中链路上 每一个节点的服务状况,包括延 时、吞吐量等基本信息。 服务器总体展示 展示当前所有服务器的运行状况, 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 /usr/bin/eventadapter ENTRYPOINT ['./eventadapter']基于Mixer的二次开发的流程 Deployment配置 Service配置SOFAStack公众号 http://www.servicemesher.com ServiceMesher公众号0 码力 | 29 页 | 8.37 MB | 5 月前3BRPC与UCX集成指南
●BRPC是Curve的基础通讯框架 ●支持远程过程调用 –C++ –TCP传输 –bthread协程(m:n调度,减少基于内核的下文切换 ,减少cache miss) ●多协议支持 –baidu_std,http,grpc… ●protobuf3 BRPC简介 ●Client/Server架构 ●使用Protobuf定义协议文件 –例如: echo.proto:4 BRPC简介 client server EchoRequest EchoResponse5 BRPC简介 ●Channel类 –代表一个连接,Client通过Channel发 送请求和接收应答 ●Server类 –代表一个服务器,可以注册不同的 接口服务,例如上面的EchoService6 BRPC SERVER7 BRPC SERVER8 BRPC client9 BRPC EndPoint EndPoint是一个代表通讯地址的数据结构 _order为true,接收端乱序提交 –--brpc_ucp_close_flush,release connection时发送未未完成的报文,不是必须的,因为 brpc通常是需要接收应答的,服务器端一般不主动关闭连接,客户端主动关闭,自己负 责是否有未接收完的应答。56 修改BRPC的EndPoint ●原始的EndPoint类,不能识别网络连接的类型,默认只有TCP –现在有了UCX0 码力 | 66 页 | 16.29 MB | 5 月前323-云原生观察性、自动化交付和 IaC 等之道-高磊
发行计划:向下兼容, 对比发布 • API文档:每一个API有 一个活档,指导集成。 形成市场,能力 互补 全生命周期API管理-2-Azure API Management 配置Http Header, 比如CORS等 配置入站协议转 换等 配置后端治理策略 等,比如限流规则 定义API或者导入 API 全生命周期API管理-3-Azure API Management 中,“应用”是由多个概念共同组合而成。第一个概念是: 应用组件(Components),它是整个应用的重要组成部分。应用组件既可以包括 应用运行所依赖的服务:比如 MySQL 数据库,也包括应用服务本身:比如拥 有多个副本的 PHP 服务器。开发者可以把他们写的代码“打包”成一个应用组件。 • Trait描述了应用在具体部署环境中的运维特征,比如应用的水平扩展的策略和 Ingress 规则,它们在不同的部署环境里却往往有着截然不同的实现方式。 Storage NetWorking PaaS 云原生PaaS建立在更深 层次的软硬件栈中,而 云原生从某种角度而言 是对OS以及以上资源的 抽象! 所以问题出现了 问一个具体的问题:在成 千个服务器上的K8S自己 的安装和维护升级谁来负 责? 标准化能力-让管理和运维更轻松-基础设施即代码-2 云原生平台在抽象化OS的同时,却对更底层基础设施的运维无能为力,因为它完全面向应用,甚至连自己如何0 码力 | 24 页 | 5.96 MB | 5 月前3Curve文件系统元数据管理
6、curve文件系统的多文件系统的设计 1、设计一个分布式文件系统需要考虑的点: 文件系统的元数据是否全缓存? 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? inode+dentry方式?当前curve块存储的kv方式? 是否有单独的元数据管理服务器? 2、其他文件系统的调研总结 fs 中心化元数据 内存namespace元数据 内存空间分配元数据 元数据持久化 元数据扩展 有元数据服务器 全内存 fsnode → hashtable(inode id) fsedge → hashtable (parent inode + name) 全内存 chunk → hashtable(chunk id) log + dump record 差 否 chunk 链式多副本 overwirte有数据不一致风险 chubaofs(cfs) 有元数据服务器 inode 更适合大文件顺序写 fastcfs 有元数据服务器 inode和dentry放一个结构体。 inode → hashtable(key是ino,全局) dentry → skip list (key是name,每个目录下一个) 计算出来的 binlog,随时间会越来越大 差 DG Master/Slave glusterfs 无中心化服务器 dht算法 hash 扩展时大量迁移0 码力 | 24 页 | 204.67 KB | 5 月前3
共 164 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17