Service Mesh结合容器云平台的思考和实践微服务演进当我们在讨论微服务的时候我们在讨论什么? • 解决如何微服务的问题 • 解决微服务化后带来的问题 温饱问题 • 计算资源的快速分配 • 基本的监控 • 快速部署 • 易于分配的存储 • 易于访问的外围(负载均衡) • 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 统一日志中心 Fluentd & ES 统一监控中心 Prometheus 统一配置管理 Configmap、Secret 负载均衡 简单负载均衡,基于Iptables Roundrobin 流量控制 简单根据服务实例进行控制云平台微服务演进之基于API网关的微服务方案 API网关功能增强 云平台微服务演进之基于Spring Cloud的微服务方案 NS A Service Zuul Nginx Eureka Server Service 1 Service 2 Ribbon 注册 业务服务 配置中心 启动获取 Monitor Turbine K8S流量 SC流量 同集群调用微服务 Spring Cloud管理平台基于Kubernetes的Spring Cloud实现 Devops:0 码力 | 28 页 | 3.09 MB | 6 月前3
进击的 Traefik | 云原生边缘路由器探秘Swarm, Kubernetes, M arathon, Mesos, Consul, Etcd, Z ookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的 配置文件进行设置Traefik 项目 •https://github.com/containous/traefik •MIT License •Written in Go •25,400+⭐ 2 引擎或者 key-value 存储等等 • Traefik 通过 Providers 的 API 查 找有关路由相关信息,并动态更新 • 基于标签、key-value、注解、文 件 • Docker、Kubernetes、Marathon 、Rancher、FileEntryPointsRouters匹配器Services • Services 负责配置最终处理传入请求 的实际服务。 Mirror:将发送到服务的请求镜像复 制到其他服务去,目前只支持 File ProviderMiddlewares配置 • 静态配置:Traefik 启动时的 配置,Provider 连接信息、要 监听的 EntryPoints,通过配置 文件、命令行参数、环境变量 定义 • 动态配置:Traefik 处理请求 的所有配置,证书、路由、服 务、中间件等,动态改变、无 缝更新1 Traefik 介绍 2 Traefik0 码力 | 35 页 | 8.58 MB | 6 月前3
网易云Service Mesh的产品架构与实现单次上线需求列表多,上线时间长,影响面大 简化扩容: 由于业务多,每一次扩容需要增加的配置比较杂。一些不起眼的小业务虽然不是扩容的主要目 的,也需要慎重考虑 容灾降级:核心业务与非核心业务耦合,在关键时候互相影响 微服务拆分微服务架构要点 微服务架构 要点 服务发 现 负载均 衡 集群容 错 高可用 配置管 理 调度和 部署 伸缩性 集中化 日志 集中式 监控 分布式 Service Mesh作为微服务框架www.163yun.com Service Mesh生态www.163yun.com 数据面Envoy • 轻量级的proxy • 静态配置,热加载,热重启 • 动态配置,拉取模式www.163yun.com 控制面Pilotwww.163yun.com Service Mesh优缺点163yun.com 二、网易云微服务框架介绍163yun.com Stream Kafka Storm集群 Hbase Hadoop Redis DDB NQS 监控平台 用户空间VPC 管理控制服务 云主机 云网络 云硬盘 UAS Agent 对象存储 UAS Server OpenStack 管控节点(主) 管控节点(备) 监控节点(主) 监控节点(备) 注册中心 控制中心163yun.com 三、基于容器服务的微服务架构实践www.163yun0 码力 | 35 页 | 6.33 MB | 6 月前3
陌陌Service Mesh架构实践1.0微服务体系整体架构 注册中心 • Redis作为底层存储 • 跨语言地址发现服务Lookup • 中心化存活检测 多语言支持 • Java、PHP、Python、Go、NodeJs • Redis传输协议 / 复用Redis客户端 • 服务发布Proxy / 并行调用Proxy 服务治理 • 服务治理平台、配置中心 • 监控、日志、分布式跟踪 • 异步调用、压测7/24 sidecar模式 • 与业务进程相同Pod不同Container 陌陌微服务容器化部署比例在80%以上 并且还在进一步推进 业务接入方式 • 研发人员:升级SDK版本 • SRE:发布系统配置发布项 sidecar模式部署17/24 数据平面升级方式 – 平滑升级机制 平滑要求 • 业务进程不重启 • 流量保持不变 方案选择 • FD迁移 vs 哨兵集群 原理 • sendmsg API层接口耗时增长小于6%21/24 数据平面资源占用 与业务容器共享CPU、内存资源配额 为Agent JVM分配256M内存资源 服务器消耗增加约10% 分配方式 内存资源 服务器资源 维持现有内存使用率与 服务器配置的最坏情况 实际需预留 600M内存22/24 数据平面兼容原有架构 对接原有系统 • 使用原有系统SDK、私有协议 直连访问 兼容未升级服务 • Proxy Agent支持以原有通信 协议处理请求、发起调用23/240 码力 | 25 页 | 1.25 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践在『路口』的产品思考与实践 宋顺(齐天) 蚂蚁金服高级技术专家2/39 蚂蚁金服高级技术专家 2019年初加入蚂蚁金服,主要负责微服务、Service Mesh 相关 产品的研发工作 开源配置中心 Apollo 主要作者 https://github.com/ctripcorp/apollo 毕业于复旦大学软件工程系 曾就职于携程、大众点评,负责中间件、后台系统等研发工作3/39 Part 3: 蚂蚁金服的产品实践 流量劫持22/39 Part 3: 蚂蚁金服的产品实践 流量劫持 • 有效支撑了一天万亿级调用量 • iptables 的问题 • 在规则配置较多时,性能下滑严重 • 管控性和可观测性不好23/39 Part 3: 蚂蚁金服的产品实践 平滑迁移 初始状态24/39 Part 3: 蚂蚁金服的产品实践 平滑迁移 弹性,自愈 • 降低资源成本,提升开发效率,享受生态红利 • 云原生不是目的,而是手段 拥抱云原生Part 3: 展望未来 和 istio 社区共建, 融合控制平面和传统注册中心/配置中心,加强 Pilot 的能力 APP SDK 各种注册中心 Galley Nacos 控制平面 (Pilot) MCP MCP SOFARegistry MCP0 码力 | 40 页 | 15.86 MB | 6 月前3
七牛容器云ServiceMesh实践七牛容器云Service Mesh实践 冯玮 七牛容器云架构师 2018.11.25 Service Mesh Meetup #4 上海站Ingress Controller • 流量管理 • 安全管理 • 统一配置 • 反向代理Contour • 本质上还是Ingress Controller • Kubernetes深度整合 • Gimbal生态组件Contour特点 • 基于Envoy • 协议转换 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统 • 历史问题 • 灰度发布 • 预上线系统验证体系 • 系统故障隔离 • 跨集群访问 • 线上问题链路追踪 • 解决方案 • Istio南北流量分流策略产品化 • 基于Istio的QoS产品化 基于Istio的Tracing产品化 • 跨集群流量调度七牛容器云产品逻辑架构 Kubernetes + Docker + 生态链七牛容器云产品未来发展 • 更多功能 • 故障熔断 • 故障注入 • 业务配置动态分发 • 优化升级 • 性能优化: • DPDK + eBPF • 系统优化 • 根据需求裁剪Istio。解耦Envoy和其他组件 • 裁剪Istio相关CRD,简化系统结构ServiceMesher公众号0 码力 | 15 页 | 3.86 MB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统nanovisor 日志服务 云盘 本地多盘 弹性网卡 网络安全组 GPU 安全可信 数据库服务 OB serverless 平台 kata SOFAMesh 资源分时复用 神龙裸金属 VPC 云存储 应用服务器 数据库服务器 国产化服务器7/19 二、双十一 Kubernetes 实践 Part 2:8/19 资源分时调度 Part 2:双十一 Kubernetes 实践 快速腾挪的问题 Agent Pod 资源 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 容量平台 监控平台 巡检平台 流量控制 流量平台 配置中心 流量控制器 流量状态CRD 资源状态CRD 资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度 分时切换效果 • MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合 • 任何 controllers 都应该使用 informers,并且对写操作配置合理限流 • DaemonSet 非常高阶,尽量不要采用这类设计,如果必需请在 Kubernetes 专家的辅导下使用;15/19 弹性资源建站 Part 2:双十一 Kubernetes 实践16/190 码力 | 19 页 | 2.18 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践混合微服务架构 Microservices • 微服务 & 单体 • Spring Cloud & Service Mesh7/总页数 运行时支撑服务 • 服务注册中心 • 服务网关 • 配置中心 混合微服务的互联互通 目标 • 互联互通 • 平滑迁移 • 灵活演进 环境 • 虚拟机 • Kubernetes8/总页数 混合微服务的互联互通 百度智能云 CNAP 混合微服务架构图 治理策略 & 高可用 不可用因素 程序和配置出 bug 线程假死、配 置格式出错 机器故障 宕机 机房故障 核心交换机故 障、机房停电 容量 服务容量不足 依赖服务 响应超时19/总页数 治理策略 & 高可用 • 微服务高可用 设计手段 服务高可用 服务限流 方法容错 负载均衡+ 实例容错 柔性化/异步化 服务冗余 服务分流 存储高可用 熔断20/总页数 治理策略0 码力 | 38 页 | 1.38 MB | 6 月前3
Service Mesh 微服务架构设计并且实现了业务中单个的完整业务功能。 • 服务和服务之间是独立的、低耦合的; • 每个服务都尽量小,小到一个小团队能够很好的维护它; • 服务可独立部署,每次部署不会影响其他服务; • 每个服务都各自负责自己的数据和状态的存储,独立数据库; • 服务和服务之间通过设计良好的API接口通信,不暴露具体的实 现细节; • 各服务不需要统一技术栈,不需要共享公共库和框架;微服务究竟带来什么好处 Ready for market Service bus (ESB) 服务间使用轻量级的HTTP/REST通信 lightweight protocols such as HTTP/REST 可能共享数据存储 Share Data 具有独立的数据存储 Data isolation 依赖很多中间件 Middleware component 独立自治的轻量级服务 small autonomous services 服务治理难度巨大不要让今天的代码成为明天的历史包袱 追求极致的思考1 漫谈服务架构的演进史 2 微服务架构设计的现状 3 Service Mesh微服务设计 4 Service Mesh的框架介绍微服务设计的最佳实践 数据独立存储 保持代码高内聚 低耦合的服务 容器化发布 服务是无状态的微服务如何切分 DDD限界上下文 低耦合的服务设计方法论:DDD战略建模4步搞定微服务的划分保持代码高内聚的方法论:DDD战术建模Service0 码力 | 36 页 | 26.53 MB | 6 月前3
Service Mesh的实践分享Server Service Registry Service Config Center Remote Proxy Cluster API Gateway 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client多语言客户端接入 • HTTP & TCP • Local & Remote • 根据接入对象的不同,制定 不同的接入策略,达到 • 接入简单 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 • 增强隔离性 • Local Proxy被pod共享 • 自保护,对来源方限流和流量 转移 • 资源适配 • 根据宿主机的硬件配置定制不 同资源配置的Daemonset Local Proxy Pod 写入地址 监听变化 宿主机 Proxy address File Pod Remote Proxy Cluster Server Service Registry Service Config Center Remote Proxy Cluster API Gateway 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client PhpApp Local Proxy OSP client Pod Local Proxy OSP client Pod OSP client0 码力 | 30 页 | 4.80 MB | 6 月前3
共 28 条
- 1
- 2
- 3













