严选 ServiceMesh 实践
Latency、QPS 等 04.服务监控 • 借助APM的能力 • 发现异常调用链 • 分析请求来源及去向 06.问题定位与诊断 • 服务元数据定义:服务等级、服务集群、服 务器规格及环境 • 服务地图:可视化的服务关系,如业务拓扑、 服务依赖拓扑,集群视图 01.服务定义 • 限流、资源隔离、熔断、降级等配置 • 负载均衡:流量调配、分流、切流量等 • 服务路由 • 访问控制配置 030 码力 | 25 页 | 2.07 MB | 5 月前3TiDB中文技术文档
实例。 高可用是 TiDB 的另一大特点,TiDB/TiKV/PD 这三个组件都能容忍部分实例失效,不影响整个集群的可用性。下 面分别说明这三个组件的可用性、单个实例失效后的后果以及如何恢复。 TiDB TiDB 是无状态的,推荐至少部署两个实例,前端通过负载均衡组件对外提供服务。当单个实例失效时,会影响 正在这个实例上进行的 Session,从应用的角度看,会出现单次请求失败的情况,重新连接后即可继续获得服 务。单个实例失效后,可以重启这个实例或者部署一个新的实例。 PD PD 是一个集群,通过 Raft 协议保持数据的一致性,单个实例失效时,如果这个实例不是 Raft 的 leader,那么服务完全不受影响;如果这个实例是 Raft 的 leader,会重新选出新的 Raft leader,自 动恢复服务。PD 在选举的过程中无法对外提供服务,这个时间大约是3秒钟。推荐至少部署三个 PD 实例,单 个 Raft 协议保持数据的一致性(副本数量可配置,默认保存三副本),并通过 PD 做 负载均衡调度。单个节点失效时,会影响这个节点上存储的所有 Region。对于 Region 中的 Leader 节 点,会中断服务,等待重新选举;对于 Region 中的 Follower 节点,不会影响服务。当某个 TiKV 节点 失效,并且在一段时间内(默认 30 分钟)无法恢复,PD 会将其上的数据迁移到其他的0 码力 | 444 页 | 4.89 MB | 5 月前3人工智能安全治理框架 1.0
2. 人工智能安全治理框架构成 基于风险管理理念,本框架针对不同类型的人工智能安全风险,从技术、 管理两方面提出防范应对措施。同时,目前人工智能研发应用仍在快速发展, 安全风险的表现形式、影响程度、认识感知亦随之变化,防范应对措施也将相 应动态调整更新,需要各方共同对治理框架持续优化完善。 2.1 安全风险方面。通过分析人工智能技术特性,以及在不同行业领域 应用场景,梳理人工智能技 或者因训练数据集质量问题,导致算法设计目的、输出结果存在偏见或歧视, 甚至输出存在民族、宗教、国别、地域等歧视性内容。 (c)鲁棒性弱风险。由于深度神经网络存在非线性、大规模等特点,人 工智能易受复杂多变运行环境或恶意干扰、诱导的影响,可能带来性能下降、 决策错误等诸多问题。- 4 - 人工智能安全治理框架 (d)被窃取、篡改的风险。参数、结构、功能等算法核心信息,面临被 逆向攻击窃取、修改,甚至嵌入后门的风险,可导致知识产权被侵犯、商业机 (e)输出不可靠风险。生成式人工智能可能产生 “幻觉”,即生成看似合理, 实则不符常理的内容,造成知识偏见与误导。 (f)对抗攻击风险。攻击者通过创建精心设计的对抗样本数据,隐蔽地 误导、影响,以至操纵人工智能模型,使其产生错误的输出,甚至造成运行瘫痪。 3.1.2 数据安全风险 (a)违规收集使用数据风险。人工智能训练数据的获取,以及提供服务 与用户交互过程中,存在未经同意收集、不当使用数据和个人信息的安全风险。0 码力 | 20 页 | 3.79 MB | 29 天前3Service Mesh的实践分享
Service Config Center 服务发现 服务注册 服务元数据下发 OSP client 服务路由 网络传输 服务元数据上报缺点 • 语言单一 • 升级困难 • 复杂代码嵌入对客户端进程影响大服务化体系2.0 - Service Mesh雏形 • 物理机、sidecar • Local & Remote,主与备 • 轻量级客户端、本地调用 • Local Proxy负责服务治理与 侵入性大。复杂客户端会给 应用造成负担,包括资源占 用、依赖冲突等等 侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 台机故障可以下线 升级难度 难度极大。需要客户端修改 代码、发布、上线。 Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8s的调度形成压力,特别是在资源紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 生共死 难度小。Sidecar故障可以将流量临时切到0 码力 | 30 页 | 4.80 MB | 5 月前3分布式NewSQL数据库TiDB
同可⽤区类型- 限制TiKV内存30G 测试⼆ 跨可⽤区类型 同可⽤区类型 FAQ Q1:TiDB当前覆盖多少地域? Q2:每个⼩时业务要创建⼀些中间表,完成计算,然后删除掉,频繁创建和删除表对TiDB 性能影响⼤吗? Q3: slow log ⾥⾯的时间是什么时区? Q4: 对于⼀张⼤表insert into t2 select * from t1; 失败报错 ERROR 2013 (HY000): Lost 对 :每个⼩时业务要创建⼀些中间表,完成计算,然后删除掉,频繁创建和删除表对TiDB 性能影响⼤吗? 性能影响⼤吗? 数据量较⼩的情况下可以忽略影响, 在数据量较⼤的情况下删除操作耗时较⻓,另外对GC有⼀定的影响, 如果堆积需要GC的数据量⼤,会影响写⼊的性能. 此种场景建议中间表使⽤分区 表来避免性能影响。 Q3: slow log ⾥⾯的时间是什么时区? ⾥⾯的时间是什么时区? admin show com/docs-cn/dev/reference/sql/statements/add-index/ 但是, 如果在创建索引的时候,刚好跟要读写的数据 碰巧是同⼀部分数据,这个是会影响的,因为创建索引需要填充数据,也会涉及读写操作。 从历史版本读就不影响读取的速度。 Q11:TiDB默认时区 默认时区 FAQ 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 117/1200 码力 | 120 页 | 7.42 MB | 5 月前3Curve元数据节点高可用
4.2.1 正常流程 4.2.2 异常情况1:MDS1退出,可以正常处理 4.2.3 异常情况2:Etcd集群的leader发生重新选举,MDS1未受影响,可以正常处理 4.2.4 异常情况3:Etcd的leader发生重新选举,MDS1受到影响退出,不一定可以正常处理。 4.2.4.1 LeaseTIme < ElectionTime的情况 4.2.4.2 GetTimeout < ElectionTime 情况。© XXX Page 21 of 30 1. 2. 3. 1. 2. 1. 4.2.3 异常情况2:Etcd集群的leader发生重新选举,MDS1未受影响,可以正常处理 etcd集群异常,重新选举leader 但LeaseTime > ElectionTime 且 GetTimeout > ElectionTime 这种情况是常态,大概率情况El 这种情况下etcd集群恢复正常之后,MDS与etcd集群的lease维持正常;定期get Leader/MDS1正常;Observe正常 4.2.4 异常情况3:Etcd的leader发生重新选举,MDS1受到影响退出,不一定可以正常处理。 etcd集群异常,重新选举leader 但leaseTIme < ElectionTime 或者 GetTimeout < ElectionTime 4.2.4.1 LeaseTIme0 码力 | 30 页 | 2.42 MB | 5 月前3Open Flags 调研
径,此时等同于open。 open flags flags定义 flags通过宏定义实现,定义见 ,主要包括如下flag fcntl.h # 红色是不支持且会执行结果错误;橙色是暂不确定但不影响写入结果;紫色为暂时无法测试;黑色是已经支持 #define O_RDONLY 00000000 #define O_WRONLY 00000001 #define O_RDWR 00000002 V的早期版本引入的,后改进为O_NONBLOCK) flags中必须access mode:O_RDONLY, O_WRONLY, O_RDWR其中之一;© XXX Page 4 of 23 文件创建标志只影响打开操作, 文件状态标志影响后面的读写操作 file creation flags: O_CLOEXEC, O_CREAT, O_DIRECTORY, O_EXCL, O_NOCTTY, O_NOFOLLOW, O_TMPFILE 与O_CREATE一起使用,如果pathname已经存在则返回失败(EEXIST),否则创建文件成功。 : 该参数不会使打开的文件成为该进程的控制终端。如果没有指定这个标志,那么任何一个 输入都将会影响用户的进程。 O_NOCTTY : 如果文件存在,且是个普通文件,具有对该文件的写权限,该flag会将文件长度截断为0。 O_TRUNC : 追加写,每次write都会将file offset 指向文件尾(file0 码力 | 23 页 | 524.47 KB | 5 月前3Curve设计要点
精确的流量控制,对io几乎无影响自治 • 集群负载和资源均衡 • leader copyset scatter-width • 无需人工干预 • 对io影响几乎无影响易运维 • 升级秒级影响 • 客户端采用CS架构 • NEBD Client: 对接上层业务 • NEBD Server: 接受请求 调用Curve Client处理 • 升级只需重启Server 秒级影响易运维 • 丰富的metric体系0 码力 | 35 页 | 2.03 MB | 5 月前3新一代云原生分布式存储
NVME 块存储场景,Curve随机读写性能远优于Ceph 单卷 多卷主要亮点 — 易运维 运维场景 Curve Ceph 加盘 对IO无影响 秒级io影响 服务端升级 对IO无影响 重启管控面IO无影响,重启osd io秒级影响 客户端升级 热升级,秒级抖动 不支持热升级,需要业务停服 集群监控 丰富的metric metric类型较少主要亮点 — 更稳定 异常场景 Curve0 码力 | 29 页 | 2.46 MB | 5 月前3Curve质量监控与运维 - 网易数帆
确认哪些任务需要设计 文档: 小需求(改动小)将实现思路记录到任务管理系统中(JIRA),即可进行开发; 大需求(新模块、复杂功能)需要输出独立设计文档,并进行评审;对于功能或 性能影响较大的功能,还需要进行POC验证;评审和验证通过后才能启动开发 工作。 小需求 实现思路 开发 大需求 设计文档 POC 开发 7/33设计文档规范 设计文档需要具备以下内容: 修订记录 最终构成要求的软件子系统或系统。集成 测试需要关注的主要是各模块连接起来后 的问题: 穿越模块接口的数据是否会丢失; 子功能的组合是否可以达到预期的要求; 子模块之间是否会相互影响; 单个模块的误差积累是否会放大,从而 达到不可接受的程度。 功能测试 站在使用者的角度,对模块提供的功能进行完备 的测试。 异常测试 制造或模拟系统异常(磁盘错误、网络错误、资源 客户端采用CS架构,升级只需重启服务,秒级影响 • MDS与ChunkServer支持滚动升级 自治 • 自动均衡 • 自动故障恢复 27/33易部署 准备安装 包 配置用户 配置SSH 免密 安装 ansible 配置Ansible 执行 ansible 确认集群 状态 28/33易升级 Client易升级 为避免Curve client升级影响QEMU,Curve Client采用了Client-0 码力 | 33 页 | 2.64 MB | 5 月前3
共 49 条
- 1
- 2
- 3
- 4
- 5