文档详情

《二零一六中国系统架构师大会演讲-架构创新-余庆》.pdf

发布:2015-12-28约2.55千字共30页下载文档
文本预览下载声明
架构创新—— 如何做到与众不同 易到⽤⻋ 余庆 个⼈简介 •  15 10 年开发经验, 年架构⼯作经历 •  开源分布式⽂件系统FastDFS作者 •  参与过Apache Traffic Server开发 •  做过前端和后端开发 架构核⼼ •  数据和程序分离 •  最核⼼的是数据存储和访问 •  + 总体设计⽅案 数据库设计 衡量指标 •  稳定性:Simple is the best. •  性能 •  可扩展 •  易⽤性:易于运维 容易运维 •  部署和维护简单:配置⽂件统⼀ •  减少⼈⼯操作:提供⼯具和脚本 •  必要的⽇志记录:便于查找和定位问题 ⼀个Server配置⽚段 inner_bind_addr = 43 outer_bind_addr = 43 改进后的配置: #@function LOCAL_IP_GET inner_bind_addr = inner #@function LOCAL_IP_GET outer_bind_addr = outer 架构师发展阶段 •  第⼀阶段:模仿 •  第⼆阶段:创新 模仿阶段 •  分层架构 •  数据库拆分 •  采⽤Master-Slave结构 分层架构⽰例 创新阶段 •  知其所以然 •  不要盲⺫崇拜 创新案例 •  服务化 •  实时搜索引擎 创新案例⼀:服务化 •  解决内部系统之间的调⽤问题 •  模块⾃洽,减少模块耦合 •  分⼯明确,各尽所能 •  性能是最关键的指标 服务化⽅案选型 •  HTTP vs. 私有协议 •  vs. ⻓连接 短连接 易到服务化框架 •  PSF for PHP : •  CSF for C : •  ⼆者是统⼀的 ⾃建服务化框架优势 •  改变服务进程运⾏⽅式:以daemon⽅式运⾏ •  省去负载均衡层 •  省去建连开销:天然⽀持⻓连接 — 服务层 — 后台逻辑 •  ⼆进制私有协议格式紧凑,减少⺴络流量 PHP服务化 •  daemon PHP ⽅式运⾏:改变 运⾏⽅式 •  Powered by C C :⺴络通信框架⽤ 开发 PHP服务化框架 创新案例⼆:实时搜索引擎 •  基于地理位置的实时搜索 空间索引⽅式 空间编码⽅式 •  GeoHash •  自定义编码 GeoHash •  GeoHash将二维的经纬度转换成字符串 •  字符串相似的表示距离相近,可以采用字符串前缀匹配 •  最大的缺点就是突变性 •  除了使用定位点的GeoHash编码进行匹配外,还使用 周围8个区域的GeoHash编码 ⾃定义编码 •  可以编码为整数:int(经度 / D) * (10 ^ P) + (纬度 / D) •  D为一个格子对应度数,例如1KM对应的度数为 0.008998 •  P为(经度 / D)的最大位数,例如5 •  (116.388055, 39.907500) =
显示全部
相似文档