Service Mesh结合容器云平台的思考和实践
API网关 简单路由功能 统一日志中心 Fluentd & ES 统一监控中心 Prometheus 统一配置管理 Configmap、Secret 负载均衡 简单负载均衡,基于Iptables Roundrobin 流量控制 简单根据服务实例进行控制云平台微服务演进之基于API网关的微服务方案 API网关功能增强 • 安全认证 • 流量控制 • 审计日志 • 黑白名单 • …K8S集群 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) • 故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 控制平面 数据平面 Istio-Auth • 服务间认证 • 终端用户认证Istio的核心组件 • Envoy 是一个高性能轻量级代理,它掌控了service的入口流量和出口流量,它提供了很多内置功能,如动态负 pilot-agent的“角色”,role包括以下属性: 1.Type pilot-agent有三种运行模式。根据role.Type变量定义,类型为model.Proxy,定义在context.go文件中,允许的3个取值范围为: i. "sidecar" 默认值,可以在启动pilot-agent,调用proxy命令时覆盖。Sidecar type is used for sidecar proxies0 码力 | 28 页 | 3.09 MB | 5 月前3Service Mesh的实践分享
agent 服务发现 HTTP/JSON HTTP/JSON容器化 • Proxy Daemonset • 每台宿主机一台Proxy • Proxy地址文件 • Mount到所有pod • 客户端容器监听文件,根据地 址文件找Proxy • 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 • 增强隔离性 • Local Proxy被pod共享 • 自保护,对来源方限流和流量 Proxy问题,可立马切走流量而不影响业务代码埋点 vs. Mixer • 性能考虑 • 调用链埋点的影响必须足够小 • 鉴权需要同步进行,调用Mixer代 价大 • Mixer的中央节点问题 • 传统基于日志收集的tracing方 案足够成熟 • 内部实现一套可插拔的鉴权框 架也能接受混合部署 vs. 绑定K8s • 历史原因导致长期都会物理机 和容器并存,内部需求必须要 同时支持物理机和云0 码力 | 30 页 | 4.80 MB | 5 月前3SOFAMOSN持续演进路径及实践分享
buffer Ø Raw-Epoll模式 Ø 读合并 Ø 协程池化 Ø 调度均衡 Ø SOFARPC深度优化 Ø TLS官方库IO优化 Ø HTTP1.1/HTTP2.0 IO优化 Ø 日志操作异步化&多次合 并 Ø 基于RCU的高性能配置更 新安全 & 可观察性 0.1.0 0.2.0 0.3.0 0.4.0 Ø mTLS支持 Ø 支持inspector探测 Ø TLS扩展支持,支持自定义 key不支持冒号开头字段的问题 ü 适配envoy的HTTP2配置项 Ø 代码管理 ü fork x/net/http2 代码 ü 新增mosn_http2.go文件,复用原生结构体和方法,暴露mosn框架 所需方法和结构 ü 原则不修改原生文件技术案例 – http2性能优化 Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.6.32-2200 码力 | 29 页 | 7.03 MB | 5 月前3严选 ServiceMesh 实践
timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台6/24 Service Mesh 为严选带来了哪些架构收益 • 历史包袱:现有的服务在不改造的情况下引入了服务治理能力 • 大大降低了中间件的研发投入和演进成本,也降低了业务和中间件的耦合成本 超时控制、重试、重写、重定向等 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台11/24 性能视角 – cNginx vs Envoy(优化前) • 1600RPS+40个并发(主机配置均为 8C16G) • cNginx 的 RT overhead0 码力 | 25 页 | 2.07 MB | 5 月前3网易云Service Mesh的产品架构与实现
容灾降级:核心业务与非核心业务耦合,在关键时候互相影响 微服务拆分微服务架构要点 微服务架构 要点 服务发 现 负载均 衡 集群容 错 高可用 配置管 理 调度和 部署 伸缩性 集中化 日志 集中式 监控 分布式 追踪163yun.comwww.163yun.com Dubbo产生背景www.163yun.com Spring Cloud技术栈www.163yun.com 网易微服务框架www.163yun.com 新一代微服务治理平台 服务A jar envoy 服务B jar envoy 服务C jar envoy 降级 限流 路由 日志收集 日志分析 调用次数 调用时间 服务治理 日志分析 统计监控 Data Stream Kafka Storm集群 Hbase Hadoop Redis DDB NQS 监控平台 用户空间VPC 管理控制服务0 码力 | 35 页 | 6.33 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
宕机关联度分析 • 宕机趋势 • 机房、单元、分组 • 机型、硬件特征 • 内核版本、hotfix 一致率 • 宕机根因分析诊断 • 硬件故障、运维事件 • vmcore 归类分析 • 内核错误日志分析Machine Operator • 全生命周期 • 导入 • 下线 • 维护 • 组件终态 • 安装 • 升级 • 回滚 • 故障自愈 • 运维事件 • 业务置换Machine0 码力 | 21 页 | 7.81 MB | 5 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
资源画像 规模化调度 高可用容灾 可视化 服务 Cluster Control Panel 在线应用 计算型混部任务 CSI CNI Device Plugin runc nanovisor 日志服务 云盘 本地多盘 弹性网卡 网络安全组 GPU 安全可信 数据库服务 OB serverless 平台 kata SOFAMesh 资源分时复用 神龙裸金属 VPC 云存储 应用服务器 数据库服务器0 码力 | 19 页 | 2.18 MB | 5 月前3金融级云原生 PaaS 探索与实践
基础组件升级 • 业务可复制 业务敏捷 SaaS 面向站点级别输出7/20 PaaS 能力 • 面向多租户多环境; • 基础资源管控; • 应用发布运维体系; • 业务实时监控,日志收集; • 机房级和地域级容灾能力; 业务背景业务背景 CAFÉ API Server Aggregation Layer 异地多活架构 同城双活架构 K8S API Server 基础发布运维0 码力 | 20 页 | 1.71 MB | 5 月前3陌陌Service Mesh架构实践
Java、PHP、Python、Go、NodeJs • Redis传输协议 / 复用Redis客户端 • 服务发布Proxy / 并行调用Proxy 服务治理 • 服务治理平台、配置中心 • 监控、日志、分布式跟踪 • 异步调用、压测7/24 流量代理机制 PHP服务发布入流量代理 PHP并行调用出流量代理 16年起开始使用流量代理机制解决跨语言服务治理问题8/24 分享主题:字号 分享嘉宾0 码力 | 25 页 | 1.25 MB | 5 月前3Service Mesh 微服务架构设计
latency:网络通信复杂,调用链路变长,服务等待时间变长; Data integrity:数据一致性难保证,面临分布式事物问题; Management:管理运维成本高,需要有成熟的DevOps平台,另外日志看查困难; Development and testing:开发测试成本高,依赖服务较多,Debug困难; Lack of governance:各服务可能技术栈不统一,不好统一管理;微服务和SOA究竟有什么区别0 码力 | 36 页 | 26.53 MB | 5 月前3
共 17 条
- 1
- 2