Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Chasingice

340 views

Published on

a system for synchronizing the price of hotels

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Chasingice

  1. 1. 逐冰之旅 ⽩白家冰
  2. 2. chasing ice ⽤用户 淘宝 价格供应商 ⼀一个淘宝酒店的价格同步系统
  3. 3. 系统架构 Supervisor Django Suit
  4. 4. • thinkjs • es6-promise • mysql-api • taobao-api • supplier-api
  5. 5. 回调请求 0 2000 4000 6000 8000 22:01 01:47 06:12 10:06 13:52 17:46 21:56
  6. 6. • Promise.all • 升级主机(双核、2G 内存) • 64 位 / 1.4G,32 位 / 0.7G • node-heapdump, node-memwatch
  7. 7. • Keep Alive • mitigate SSL handshakes • http(s).globalAgent.maxSockets • node v0.12
  8. 8. • ⼦子进程 • 充分利⽤用多核 CPU • 内存即时回收 • 调动起悠闲的数据库
  9. 9. • Sequence • Promise & Array.prototype.reduce • Bagpipe & 重写请求函数
  10. 10. 排队
  11. 11. workers • workers/getallhotels.js • workers/matchtaobaohotels.js • crontab • ⼤大事化⼩小
  12. 12. 使⽤用情况 122444451112353842130139255374431458 1,708 2,822 13,527
  13. 13. 国内酒店分布 ⻘青海 9 ⽢甘肃 13 宁夏 14 新疆 15 ⻄西藏 16 内蒙古 18 贵州 23 ⼭山⻄西 37 河南 37 安徽 48 河北 52 天津 56 江⻄西 56 ⿊黑⻰龙江 57 吉林 60 陕⻄西 64 重庆 85湖北 99⼲⼴广⻄西 99⼭山东 108四川 123湖南 153云南 157福建 163浙江 183 辽宁 189 江苏 199 海南 248 北京 293 上海 341 ⼲⼴广东 978
  14. 14. 海外酒店分布 阿根廷 1 荷兰 1 斯⾥里兰卡 1 芬兰 1 瑞典 1 南⾮非 1 丹⻨麦 1 ⽐比利时 1 巴拿⻢马 1 ⼟土⽿耳其 2 缅甸 2 ⽼老挝 2 墨⻄西哥 5 印度 20 俄罗斯 25 巴⻄西 26 加拿⼤大 35 英国 45 柬埔寨 49 澳⻔门 64 ⻢马尔代夫 72 希腊 124 奥地利 138 新⻄西兰 140 德国 206 菲律宾 259 新加坡 294 ⾹香港 294阿联酋 323⻄西班⽛牙 411澳⼤大利亚 439韩国 475越南 542⻢马来⻄西亚 623意⼤大利 698法国 738 印尼 820 ⽇日本 919 台湾 993 美国 1,497 泰国 1,936
  15. 15. Reference • www.paypal-engineering.com • github.com/jakearchibald/es6-promise • github.com/JacksonTian/bagpipe • www.thinkjs.org • github.com/yashiro1899/yuanxing • chasingice.info
  16. 16. Thanks

×