Apache SkyWalking 在 Service Mesh 中的可观察性应用Apache SkyWalking 在 Service Mesh 中的可观察性应用 高洪涛 Tetrate 创始工程师Who 高洪涛 美国S ervice Mesh 服务商 Tetrate 创始工程师。原华为软件开发云技术专家,对云原 生产品有丰富的设计,研发与实施经验。对分布式数据库,容器调度,微服务, ServicMesh 等技术有深入的了解。 目前为 Apache ShardingSphere 端点 URL,RPC,函数 Endpoint 观察维度 9/28遇到的挑战 /02 Service Mesh 场景下 SkyWalking 面临的挑战 ( Istio ) 10/28可观测性 11/28Istio 1.5 架构图 12/28挑战1:技术路线多变 基于 Log 成熟、但性能低 Mixer 基于 Metric 高效、但技术门槛高 Mixerless 13/28挑战2:无0 码力 | 29 页 | 1.38 MB | 6 月前3
Service Mesh的延伸 — 论道Database Mesh之论道Database Mesh 分享人:张亮 日期:2018年07月25日Service Mesh风头正劲Service Mesh产品多样化Service Mesh的优势 云原生 零入侵 可观察性 面向运维服务化之后,数据库怎么办? 服务 • 无状态 • 根据规则路由 • 业务方处理事务 数据库 • 有状态 • 根据SQL路由 • 数据库自动处理事务数据库的进化趋势 • SQL What's Really New with NewSQL?数据库中间层的优势 系统 •事务 运维 • DBA 开发 • SQL数据库中间层应具备的能力 分片化 多副本 数据一致性 弹性化 治理能力 观察能力数据分片 App2 DB App1 App3 App2 DB1 DB2 DB3 App1 App3数据分片:引入中间件 App1 M1 App2 App3 read分布式事务:定义 传统事务:ACID Atomicity - 原子性 Consistency - 一致性 Isolation - 隔离性 Durability - 持久性 柔性事务:BASE Basically Available - 基本可用 Soft state -软状态 Eventual consistency - 最终一致性分布式事务:分类 XA 最大努力送达 Saga TCC 业务改造0 码力 | 35 页 | 4.56 MB | 6 月前3
Service Mesh的实践分享每台宿主机一台Proxy • Proxy地址文件 • Mount到所有pod • 客户端容器监听文件,根据地 址文件找Proxy • 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 • 增强隔离性 • Local Proxy被pod共享 • 自保护,对来源方限流和流量 转移 • 资源适配 • 根据宿主机的硬件配置定制不 同资源配置的Daemonset Local Proxy Pod 服务注册agent • 服务端的一些治理、trace、鉴权功能通过代码插 件的方式实现 • 治理效果考虑 • 服务端嵌入治理功能可以让治理效果更好,如提 供主动GC、线程池隔离等 • 因为是内部项目,优雅性和治理效果之间,选择 了后者 App Local Proxy OSP OSP client App Envoy App EnvoyClient端不基于IPTable劫持 容易。IDL接口规范 容易。IDL接口规范 难。需要自行处理HTTP请求和 响应(目前还没有生成HTTP sdk) 应用侵入性 侵入性大。复杂客户端会给 应用造成负担,包括资源占 用、依赖冲突等等 侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到0 码力 | 30 页 | 4.80 MB | 6 月前3
金融级云原生 PaaS 探索与实践一、业务背景 业务背景4/20 业务背景 业务架构 演进 • 容量 应用|数据库|机房 • 容灾 机房|地域5/20 业务背景 业务架构 单元化 • 高可用 • 一致性 • 可扩展 • 高性能6/20 业务背景 业务诉求 • 运维成本 突发流量应用 | 机房 生命周期 • 运维效率 大规模下基础设施稳定性 • 业务 Mesh 化 精细化流量控制 7/209/20 二、多集群管控 多集群管控10/20 为什么要有集群联邦 • 异构屏蔽: 底层集群变化; • 统一管控: 业务弹性建站管控统一; • 可扩展: 多租硬隔离; 体量(单集群内节点数 1w+,Pod 10w+),集群数量多; 多集群管控11/20 多集群管控 联邦核心能力 • 跨集群资源同步 Template,Override,Placement 添加finalizer 发布完成 16/2017/20 安全风险保障 • 审计追踪; • 用户安全 – 基于 RBAC 体系和 PaaS 账号体系打通; • 租户安全 – 租户隔离|环境隔离|集群隔离; • 容器运行时 - 配额|隔离控制(磁盘,CPUSET); 发布运维体系18/20 技术风险保障 业务变更三板斧 发布运维体系 Replica/Partition Allocator Pod0 码力 | 20 页 | 1.71 MB | 6 月前3
严选 ServiceMesh 实践TCP √ 路由控制:提供简单的路由能力 √ 负载均衡:支持 RR、权重、一致性 Hash 等 √ 流量复制:不提供 × 故障转移:继承 Nginx 的 Failover 机制 √ 安全 访问控制:主要依靠中间件 × 中间件 治理控制 熔断降级:主要依靠中间件 中间件 限流:速率限制 √ 中间件 资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Thrift √ 路由控制:静态路由、动态路由、流量染色、分流控制等 √ 负载均衡:支持 RR、权重、一致性 Hash 等 √ 流量复制:Envoy 自带 √ 故障转移 √ 安全 访问控制:RBAC vs Mixer √ 治理控制 熔断降级 √ 限流 √ 中间件 资源隔离 √ 故障注入 √ 超时控制、重试、重写、重定向等 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM 分析请求来源及去向 06.问题定位与诊断 • 服务元数据定义:服务等级、服务集群、服 务器规格及环境 • 服务地图:可视化的服务关系,如业务拓扑、 服务依赖拓扑,集群视图 01.服务定义 • 限流、资源隔离、熔断、降级等配置 • 负载均衡:流量调配、分流、切流量等 • 服务路由 • 访问控制配置 03.调用控制 • 不可变信息配置 • 动态配置、实时下发 • 支持环境、集群等区分维度 050 码力 | 25 页 | 2.07 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路研? 起点:开源 起点:自研 全新打造;或依托现有SDK Fork,增强,扩展,定制,集成 回馈社区,反哺开源 维持版本更新,同步升级 未来肯定会开源 可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客户认可我们的产品?开源方案选择之第一代Service Mesh Linkerd • 无控制平面 • Scala编写,基于JVM资源消耗大 1000000 笛卡尔乘积Mixer反省之二:隔离和抽象的层次 ü Mixer的设计目标: • 提供统一抽象(Adapter) • 隔离基础设施后端和Istio其他部分 • 容许运维对所有交互进行精细控制合并Check和Quota ü 我们的反思 • 认可这样的抽象和隔离,确实有必要从应用中剥离出来 • 但是要加多一层Mixer,多一次远程调用 • 抽象和隔离在Sidecar层面完成,也是可以达到效果的 达到效果的 • 对于Check和Quota,性能损失太大,隔离的效果并不明显 应用 Sidecar Mixer 基础设施后端 但是多付出一次远程 调用是否有足够必要? 对基础设施后端的访问的确 可以下沉到Service Mesh探讨:何为基础设施后端?是否可以区别对待? ü 实现Check的Adapter: • listchecker (黑白名单) • opa (Open Policy0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展Sidecar Client Service Mesh Service Mesh Control Plane API Gateway:应用网关逻辑 • 使用不同端口为不同租户提供访问入口 • 租户间的隔离和访问控制 • 用户层面的访问控制 • 按用户的API访问限流 • API访问日志和计费 Service Mesh:统一的微服务通信管理 • 服务发现 • 负载均衡 • 重试,断路器 • • Metrics 收集产品化增强-支持多网络平面 电信系统一般会有多个网络平面的,主要原因包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性; 为不同的网络提供不同的 SLA ;通过网络隔离提高安全性;通过叠加多个网络增加系统带宽 上图中的Kubernets集群使用了Knitter网络插件,部署了四个网络平面产品化增强-支持多网络平面 Istio1.0中不支持多网 将TCP纳入Service Mesh管控还不成熟,成本远大于收益 Ø Service Mesh应主要关注L7,而不是L4 Shard A Shard B Shard C client 一致性哈希 client client产品化增强-TCP Service的处理 在Service Mesh中 Bypass TCP流量,让TCP请求跳过Service Mesh的处理,缺省发送到原 始请求目的地。0 码力 | 27 页 | 11.99 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Adapter不再是Istio的组成部分 • 安装部署 • 配置 • 维护Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的优点 • 集中式服务: • 提高基础设施后端的可用性 • 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)Part 1 进程外适配器进一步增加了延迟 • 授权和认证功能是天然适合mixer pipeline的,但是由于mixer 设计 的延迟和SPOF(单点故障)特性,导致直接在Envoy中实现 (Envoy SDS) • 复杂性 • Mixer使用一组称为模板的核心抽象,来描述传递给适配器的数据。 这些包括“metrics”,“logentry”,“tracepan”等。这些抽 象与后端想要消费的数据不匹配,导致运维需要编写一些手动配置, complexity. Mixer-In-Proxy/Mixer合并进Proxy。 Mixer 将用C ++重写并直接嵌入到Envoy。 将不再有任何独立的 Mixer 服务。 这将提高性能 并降低运维复杂性。Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办? 性能有了,架构怎么办? Mixer合并到Sidecar之后Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办?0 码力 | 43 页 | 2.90 MB | 6 月前3
阿里云容器服务大促备战基于容器服务的大促备战 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT我是谁挑战在哪里? 极限并发 人为失误 系统瓶颈 雪崩 单点失效 成本控制 用户体验 最终一致性 稳定性 资源不足 资源利用率 安全风险备战工具箱 服务化 开发运维一体化 弹性 极致性能 高可用 全站上云 安全加固 人工智能 大数据 离线计算 全链路压测 边缘计算 云边端一体化 延时降低75% 混合云2.0架构 交付效率提升3倍 全链路安全架构 实时风险监测、告警、阻断 极速弹性 分钟级1000节点伸缩 异构算力 利用率提升5倍 沙箱容器 强隔离,90%原生性能 容器云应用市场 合作伙伴计划 阿里云容器服务Thank you ! 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT0 码力 | 17 页 | 17.74 MB | 6 月前3
七牛容器云ServiceMesh实践分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统 • 历史问题 • 灰度发布 • 预上线系统验证体系 • 系统故障隔离 • 跨集群访问 • 线上问题链路追踪 • 解决方案 • Istio南北流量分流策略产品化0 码力 | 15 页 | 3.86 MB | 6 月前3
共 29 条
- 1
- 2
- 3













