Service Mesh的实践分享
语言单一 • 升级困难 • 复杂代码嵌入对客户端进程影响大服务化体系2.0 - Service Mesh雏形 • 物理机、sidecar • Local & Remote,主与备 • 轻量级客户端、本地调用 • Local Proxy负责服务治理与 远程通信 • Remote Proxy负责备份和非 主流流量 JavaApp Local Proxy OSP Server Service Gateway 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client多语言客户端接入 • HTTP & TCP • Local & Remote • 根据接入对象的不同,制定 不同的接入策略,达到 • 接入简单 • 保证性能 • 节省资源 Java App Local Proxy OSP Server Remote Proxy Cluster Thrift server只带一个 服务注册agent • 服务端的一些治理、trace、鉴权功能通过代码插 件的方式实现 • 治理效果考虑 • 服务端嵌入治理功能可以让治理效果更好,如提 供主动GC、线程池隔离等 • 因为是内部项目,优雅性和治理效果之间,选择 了后者 App Local Proxy OSP OSP client App Envoy App EnvoyClient端不基于IPTable劫持0 码力 | 30 页 | 4.80 MB | 5 月前3大规模微服务架构下的Service Mesh探索之路
C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar 中包含本地缓存,一部分的前置 检查可以通过缓存来进行 • 另外,Sidecar 会把待发送的Report数据 进行缓冲,这样可能在多次请求之后才调 用一次 Mixer • 前置检查和配额是同步的 • Report数据上送是使用0 码力 | 37 页 | 7.99 MB | 5 月前3蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘
bytes stream stream bytes Network Network Protocol Stream Proxy Proxy Protocol Stream Network Network线程模型 0.1.0 9 Client Listener Read / Codec Read / Codec Read / Codec accept Stream Event Handler send write worker worker Read / Codec Read / Codec Read / Codec Write Write Write write send线程模型 0.2.0 9 Client Listene r Read / Codec Read / Codec Read accept Stream Event Handler Pool worker worker Read / Codec Read / Codec Read Write Write Write write data Codec Worker Pool线程模型规划: SEDA 10 Client Listener IO Pool Server Server Server IO Event Handler Pool data Codec0 码力 | 44 页 | 4.51 MB | 5 月前3Service Mesh 高可用在企业级生产中的实践
8.8小时 具备故障自动恢复 能力可用 4个9 99.99% 53分钟 极高可用 5个9 99.999% 5分钟18/总页数 治理策略 & 高可用 不可用因素 程序和配置出 bug 线程假死、配 置格式出错 机器故障 宕机 机房故障 核心交换机故 障、机房停电 容量 服务容量不足 依赖服务 响应超时19/总页数 治理策略 & 高可用 • 微服务高可用 设计手段 服务高可用0 码力 | 38 页 | 1.38 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
(云上) 交付周期 周 分钟级 弹性扩缩容 - 支持 性能 独占 独占 (优于普通ECS) 硬件故障率 硬盘1年故障率 2% 0.8%% (无本地盘) 硬件维修周期 [周, 月] [分钟,天]成本 效率 稳定云化架构 物理机 + 本地存储 + Underlay网 络 神龙/ECS + 远程存储 + Overlay网络 集团机房 云上机房 基础设施 IDC 系统 基础运维 天基系统 (1-5) • 本地检测 (walle, NPD) + 外部系统 (IDC、aliyun) • SLI、SLO、SLA • 钉钉、邮件、电话报警、ChatOps 自助诊断 • 节点故障自愈 (10) • 决策中心执行修复操作 • 集中统一风控 • 日常1人运维数十万节点 统一风控 监控 决策 自愈神龙运维事件 • 接收事件 (doc) • 响应事件 不带本地盘 SystemFailure SystemFailure.Reboot 带本地盘 SystemFailure.Redeploy 不带本地盘 RebootInstance (doc) 带本地盘 RedeployInstance (doc) 本盘数据不能 迁移运维实践 - 宕机率分析 • 宕机关联度分析 • 宕机趋势 • 机房、单元、分组 • 机型、硬件特征 • 内核版本、hotfix 一致率 • 宕机根因分析诊断0 码力 | 21 页 | 7.81 MB | 5 月前3Service Mesh结合容器云平台的思考和实践
分生成。其中init方法为pilot-agent二进制的命令行配置大 量的flag与flag默认值,而proxy命令处理流程的前半部分负责将这些flag组装成为envoy的配置ProxyConfig对象。下面分析几个相对重 要的配置。 role pilot-agent的role类型为model包下的Proxy,决定了pilot-agent的“角色”,role包括以下属性: 1.Type pilo envoy二进制所在文件系统路径:evony.Run通过proxy.config.BinaryPath变量得知envoy二进制所在的文件 系统位置,proxy就是envoy对象,config就是pilot-agent的main方法在一开始初始化的proxyConfig对象。里面 的BinaryPath在pilot-agent的init方法中被初始化,初始值来自pilot/pkg/model/context.go的 De t还要负责envoy进程的监控与管理工作,包括: 1. 创建envoy对象,结构体包含proxyConfig(前面步骤中为envoy生成的配置信息),role.serviceNode(似乎 是agent唯一标识符),loglevel和pilotsan(service account name)。 2. 创建agent对象,包含前面创建的envoy结构体,一个epochs的map,3个channel:configCh0 码力 | 28 页 | 3.09 MB | 5 月前3服务增强器社区介绍
翻译字数 累计翻译的文档中汉字数超过 20 万。 /04 Istio.io 社区化翻译活动Istio 官网本地化活动卓越贡献者 官余棚 @gorda 罗小东 @ilylia 于晓博 @yuxiaobo96 高国良 @gauliang /05 Istio 官网本地化活动详见:https://github.com/servicemesher/istio-official-translation//060 码力 | 7 页 | 20.77 MB | 5 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
高可用容灾 可视化 服务 Cluster Control Panel 在线应用 计算型混部任务 CSI CNI Device Plugin runc nanovisor 日志服务 云盘 本地多盘 弹性网卡 网络安全组 GPU 安全可信 数据库服务 OB serverless 平台 kata SOFAMesh 资源分时复用 神龙裸金属 VPC 云存储 应用服务器 数据库服务器 国产化服务器7/190 码力 | 19 页 | 2.18 MB | 5 月前3Service Mesh Meetup #3 深圳站
go/blob/master/articles/sonarqube-for-golang/2018-07-22-sonarqube-for- golang.mdDrone 和 Jenkins 联调测试方法 本地即可测试 drone 上是否可以调用成功: >docker run --rm \ -e JENKINS_URL=-e JENKINS_USER= 0 码力 | 45 页 | 18.62 MB | 5 月前3函数计算在双11小程序场景中的应用
函数计算在双11小程序场景中的应用 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •吴天龙(花名: 木吴) •阿里云函数计算技术专家 •2013 年加入阿里云,参与分布式数据库, 对象存储等产品的开发。现任阿里云函数 计算架构师,聚焦于 Serverless 产品功 能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战0 码力 | 13 页 | 6.95 MB | 5 月前3
共 15 条
- 1
- 2