




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Golang在BFE的应用taochunhua@2016年4月个人简介•陶春华,运维部,BaiduFrontEnd团队–2010年,天津大学,计算机专业博士•2013年7月,加入百度–使用GO开发的项目•百度GOLANG委员会成员•后台程序开发的需求和难点–C,PythonandGo对比•采用Go语言重构BFE路线后台程序开发的需求(1)•性能•并发性–Process,Thread,Event(编程难度)•开发效率–语言的描述效率:代码量–语言的简洁、易用后台程序开发的需求(2)•大型程序的组织•可测试能力–单测,覆盖度测量•错误检查能力–程序异常的troubleshooting后台程序开发的需求(3)•上线和运维–对运行环境的依赖–对库(动态库)的依赖后台程序编程的难点–C程序中很大比例的Bug和内容有关•分布式/高并发的处理遍掌握–CPU资源的调度:Process/Thread/Event–数据的封装和互斥访问;–并行运算逻辑的同步CvsPython(1)•性能:–相差10倍以上–Python:解释执行,动态类型•并发性能–Python:自己实现的thread,只能使用一个CPU•开发效率–相差5-10倍–内存的处理是一个难点–dict/map,listCvsPython(2)•大型程序的组织•可测试能力•错误检查能力调试成本hon•无编译,可用pylint做检查,易出低级错误•错误,exceptionCvsPython(3)•上线和运维–Python:需要python运行环境,及依赖的库Golang(1)•性能•并发性–Goroutine:屏蔽底层的机制,充分利用cpu资源–多线程模型:容易思考•开发效率–描述能力和python接近–较丰富的库(系统库,第三方库)Golang(2)•大型程序的组织–数据访问的限制(首字母大小写的区别)•可测试能力–内置的单测和覆盖检查工具,易于做TDD•错误检查能力–严格的编译阶段检查:强类型,文件包含,…Golang(3)•上线和运维–可编译为独立可执行程序rontEnd•百度统一前端–七层流量接入平台接入与转发流量调度数据分析ront接入与转发流量调度数据分析•主要服务•防攻击、流量调度、数据分析•业务现状•覆盖大部分重要产品•日请求量千亿级别为什么重写BFE•现存问题•事件驱动的编程模型:编码和调试难度大•C语言本身的难度和开发效率–配置管理方式落后–变更和稳定性的矛盾技术选型:GovsNginx•学习成本•开发成本–并发编程模型:同步(Go)vs异步(Nginx)•性能BFE围内补GC化布式架构GC带来的问题避免的延迟(几十到几百ms).经验公式:10万对象1ms扫描时间.GO-BFE的实时需求.实测–100万连接,400msgc延迟GC优化思路•Go的gc算法(go1.3)–MarkandSweep:大量时间时间用于扫描对象•常规手段的核心:减少对象数–小对象合并成大对象•利用Array来合并一组对象(内部对象计数为1)Ccgo用–对象复用(对象池)–深度优化系统结构和算法•减小对象数的困境–修改golang网络库,重写基本数据结构•不使用让go管理内存–不能解决问题:大量go对象难以避免!轮转GC方案本思路进程状态技术细节质上:多个进程监听同一个端口技术细节务态待态圾收集态•HTTP场景•平均连接上的请求是3个•对gc造成的延迟(几十ms)不敏感•Stop-The-World(STW)缩短了,决定因素也变了sespentloopingovermallocspans•实际运行,还是有几十个ms的STW时间–GO-BFE的场景和服务模式,大量的goroutine必然•需要根据线上运行实际情况来做选型协议一致性问题要一些方法来验证GO-BFEGO-BFE MockclientGO-BFE Mockserver协议一致性TcpcopyonlinequeryRealRealServer•urlencodecaseHETICca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度七年级政治下册全册基础知识点期末复习提纲
- 会计的笔试题目及答案
- 教师教育教学反思与落地措施试题及答案
- 废旧电子产品回收2025年行业现状与未来发展趋势报告
- 2025汽车工程知识测试题及答案
- 直播平台内容监管2025:自律发展路径与监管策略研究报告
- 百货商场数字化会员体系构建与忠诚度提升研究报告
- 供应链金融助力中小微企业融资的2025年创新路径与模式研究报告
- 现代家具设计趋势对消费者行为的影响探讨试题及答案
- 新能源汽车跨界发展研究试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 2025至2030中国智慧消防行业发展状况及未来前景研究报告
- 联锁系统设备调试施工作业指导书
- 热网工程施工组织设计方案
- 2025年上半年黑龙江牡丹江市“市委书记进校园”活动暨“雪城优才”企事业单位人才招聘1324人重点基础提升(共500题)附带答案详解
- 2025年重庆市中考物理模拟试卷(一)(含解析)
- 髌骨骨折的中医护理查房
- 希尔顿管理制度
- 2022继电保护微机型试验装置技术条件
- 2025年浙江宁波交通工程建设集团有限公司招聘笔试参考题库含答案解析
- 消毒供应中心管理制度
评论
0/150
提交评论