2.2.6 字节跳动在 Go 网络库上的实践
字节跳动在 Go 网络库上的实践 何晨 字节跳动 基础架构 – 研发 应用层 Netpoll – 面向 RPC 场景的网络库 Go net Netpoll 网络层 RPC 框架 HTTP 框架 KiteX Hertz Netpoll – 性能表现 Environment CPU: 4 cores Memory: 8GB Go: 1.15.4 Netpoll0 码力 | 42 页 | 3.19 MB | 1 年前3MoonBit月兔编程语言 现代编程思想 第十三课 案例:神经网络
0 码力 | 17 页 | 521.66 KB | 1 年前305. OpenKruise镜像预热实践_王思宇
、哈啰出行 • Lyft、Bringg、Arkane Systems、Spectro Cloud、Linkedin OpenKruise 能做什么 为什么说人人都需要镜像预热 第二部分 Pod创建过程 用户的期望: • 极致弹性 • 秒级扩容 • 弹出即可用 实际创建过程: create schedule attach/mount volume cni allotate pull start sidecar pull image for app start app Pod的创建过程,能否继续优化? 默认:重建升级 进阶:原地升级 优势: • 节省了调度的耗时,Pod 的位置、资源都不发生 变化 • 节省了分配网络的耗时,Pod 还使用原有的 IP • 节省了分配、挂载远程盘的耗时,Pod 还使用原 有的 PV(且都是已经在 Node 上挂载好的) • 节省了大部分拉取镜像的耗时,因为 经存在了应用的旧镜像,当拉取新版本镜像时只 需要下载少数的几层 layer • 原地升级 Pod 中某个容器时,其他容器保持正 常运行,网络、存储均不受影响 对极致效率的追求 create schedule attach/mount volume cni allotate start sidecar pull image for app start app Pod原地升级,能否进一步优化? in-place update0 码力 | 28 页 | 5.78 MB | 1 年前3杨钦民-唯品会微服务架构演进之路v0.2
���� ���� ������ ��� ���� ���� ������ ���� ���� Kubernets���� 云平台 存储 主机层 宿主机管理 网络 容器层 Docker Docker Noah������Docker���� ���� kubernetes���� ������ 0oah容器云镜x存储h及分发 ��IDC� ceil(sum(CurrentPodsCPUUtilization) / Target) � ��Kubernetes�HPA�Horizontal Pod Autoscaling���� ����������� CurrentPodsCPUUtilization�����pod�CPU���� Target������CPU����� ��Target ���50%�����CPU��������60%� /0.5�=12������12-10=2 ��� Pod 1 Pod 2 Pod N …� Pod 1 Scale RC/Deployment� 0oah容器金丝雀发布P发布流程 0oah容器金丝雀发布P灰度发布 Service- center client Proxy� service� pod� ���� ��� weight�100� weight�100�0 码力 | 43 页 | 3.89 MB | 1 年前304. GraphQL in Chaos Mesh 2.0 - 李晨曦
提供对 Pod 或者具体容器的错误注入, 包括网络、系统 IO、内核以及一些应用层注入 chaos-mesh.org github.com/chaos-mesh Chaos Mesh 是什么 我们的目标 ● 建立一个完全闭环的云原生混沌工程平台 ● 让混沌工程变得更易用 问题与解决方案 集群中的状态 Chaos Mesh 本身的运行和注入的故障会 给各组件以及目标 Pod 带来各种状态。 XXXChaos PodXXXChaos Status Event Target Pods Status Logs Event k8s 不可直接查询的状态 Chaos Mesh 注入的故障给目标 Pod 带来状态不可通过 k8s API 直接查询。 cluster status Target Pods Mounts Processes ipset iptables Pid Command json path 使用样例 状态查询的障碍2 对于不可通过 kubernetes API 直接查询的状态,往往要通过创建 pod/exec 子资源,运行自定义命 令来获取。它存在的主要问题是查询客户端所需权限过高。 pod/exec 使用样例:列出 daemon pod 上正在运行的进程。 状态查询的障碍3 对于所有的状态查询都存在的一大问题是,各级状态之间很难进行关联查询。 人脑关联查询示例:0 码力 | 30 页 | 1.29 MB | 1 年前3ServiceComb在Service Mesh的 探索与思考
Service Mesh - 2017年由William Morgan提出 - 一种基础设施层,服务间通信通过Service Mesh进行 - 一种TCP/IP之上的网络模型 - 轻量网络代理,与业务部署在一起 - 可靠传输复杂拓扑网络中的请求 - 将应用变为现代的云原生应用 4 Application Service Mesh Transport Network Physical 不接入Mixer服务,而是直接接入不同生态系统 13 Huawei Confidential Kubernetes Master 14 部署-社区方案 Kubernetes Node Pod Service Mesher kubectl Side car Injector create KubeAPI server Deploy call Huawei Confidential 高级管理 系统维护 华为云存储 Huawei Confidential 17 Huawei Confidential 18 Atlas UPredict Service Region Pod Mesher Concrete service instance (OCR 1.0.0) UPredict MetaDB Mesher Concrete service instance0 码力 | 21 页 | 8.48 MB | 1 年前3声明式自愈系统——高可用分布式系统的设计之道-王昕
Analyze Action u 观察当前的Realized State u 当前有2个正常运行的Pod u 比较Desired State跟Realized State的差距 u 期望3个Pod u 实际状态2个Pod u 控制器执行动作协调到Desired State u 创建1个新的Pod Ø Controller观察特定领域的 系统状态 Ø 协调Desired State跟 进程死锁 负载均衡失效 业务线程池满 监控错误 流控不合理 心跳异常 缓存热点 缓存限流 数据库热点 数据库宕机 数据库延迟 CPU 抢占 内存抢占 内存错乱 上下文切换 磁盘满 磁盘坏 网络抖动 网卡慢 断网 DNS 故障 系统单点 异步阻塞 依赖超时 内存溢出 不可读写 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 Kubernetes 下的部署运维 Server Master Pod-0-0 Server Slave Pod-0-1 Server Slave Pod-0-2 Server Group 0 StatefulSet-0 Server Master Pod-1-0 Server Slave Pod-0-1 Server Slave Pod-0-2 Server Group 1 StatefulSet-10 码力 | 44 页 | 2.47 MB | 1 年前302. Service Mesh落地之后_为sidecar注入灵魂 - 周群力
Linkerd 的Buoyant 公司提出 服务网格是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,服 务网格负责在这些拓扑中实现请求的可靠传递。在实践中,服务网格通常实现为一组轻量 级网络代理,他们与应用程序部署在一起,而对应用程序透明。 Service Mesh 的初衷 5 图片来源: https://new.qq.com/omn/20190806/201908 06A0SM4Q00 Service Mesh vs Runtime 18 低 能力丰富度 Service Mesh Runtime 分布式能力原语合集 定位 具有明确语义的 API 交互方式 通信协议 网络代理 定位 流量拦截 交互方式 私有协议 通信协议 高 能力丰富度 Http/gRPC 标准协议 19 Dapr Dapr 20 • 提供多种分布式能力 • 对接了丰富的基础组件 找上门 B 云也很好,你通过我的服务可以无缝 使用 A 云和 B 云 • 被 C 锁定 POD container App container container Dapr • 缺失 Service Mesh 能力 • 运维成本飙升 • 稳定性有待验证 • 稳定性更难保证 MOSN POD container App container container Dapr0 码力 | 63 页 | 880.85 KB | 1 年前3如何打造一个让人愉快的框架 - 王巍
onevcat (onev@onevcat.com) 如何打造一个让人愉快的 小孩 但考虑到这是一次开发 者会议... 如何打造一个让人愉快的 框架 一个故事 武田君的“轮子” > 网络请求 > 模型解析 > 导航效果 > 视图动画 ... 以上故事纯属虚构 如有雷同实属巧合 如何又好又快地开发 app 迅速反应 代码重用 使用框架 远古时代 COCOA TOUCH platform :ios, '8.0' use_frameworks! target 'MyApp' do pod 'AFNetworking', '~> 2.6' pod 'ORStackView', '~> 3.0' pod 'SwiftyJSON', '~> 2.3' end $ pod install CARTHAGE4 4 https://github.com/Carthage/Carthage YourApp.app/Frameworks/YourFramework.framework/ resource.png 发布框架 GITHUB COCOAPODS pod spec create MyFramework Pod::Spec.new do |s| s.name = "MyFramework" s.version = "1.0.2" s.summary0 码力 | 84 页 | 21.57 MB | 1 年前3Service Mesh在华为公 有云的实践
DevOps,APM有深⼊入的研究和实践经验。⽅方案⽀支撑近千台VM中应⽤用部署管理监 控 2016年加⼊入华为担任架构师,负责微服务的Go语⾔言开发框架及Service Mesh设计 和落地,Go语⾔言微服务框架被华为5G核⼼心⺴⽹网络采⽤用,Service Mesh服务商⽤用上 线公有云 • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Service Mesh • ⼀一种基础设施层,服务间的通信通过 Service Mesh进⾏行 • 可靠地传输复杂⺴⽹网络拓扑中服务的请 求,将服务变成现代的云原⽣生服务 • ⼀一种⺴⽹网络代理的实现,通常与业务服 务部署在⼀一起,业务服务不感知 • ⼀一种TCP/IP之上的⺴⽹网络模型 Application Service Mesh Transport Network Physical 容器可以共享存储与⺴⽹网络的能⼒力 应⽤用程序容器 ⽇日志同步⼯工具容器 存储卷 Sidecar优势 • 以容器作为基础打包单元,可以分给不同的团队进⾏行开发测试 • 可重⽤用 • 以容器作为错误边界,使服务能够正确推出 • 独⽴立回滚与更新 第⼆二代:HSA SideCar • 2016年,基于Java 微服务 框架开发 • 提供SOAP协议转换 • 与微服务部署在⼀一个Pod • 占⽤用资源很⾼高0 码力 | 52 页 | 4.37 MB | 1 年前3
共 449 条
- 1
- 2
- 3
- 4
- 5
- 6
- 45