Soumettre la recherche
Mettre en ligne
Zalora php to_go
•
0 j'aime
•
1,865 vues
Weng Wei
Suivre
Affichage du diaporama
Signaler
Partager
Affichage du diaporama
Signaler
Partager
1 sur 32
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
[LaravelConf Taiwan 2019] 在中國三年,從 0 開始自建完整電商餐飲系統
[LaravelConf Taiwan 2019] 在中國三年,從 0 開始自建完整電商餐飲系統
LaravelConfTaiwan
[LaravelConf Taiwan 2019] 內部微服務,隊友開發更快速
[LaravelConf Taiwan 2019] 內部微服務,隊友開發更快速
LaravelConfTaiwan
內部微小服務, 隊友開發更快速
內部微小服務, 隊友開發更快速
EricLiao39
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Asika Simon
優秀的網站該具備什麼內容 - 超人教你做網站 #1
優秀的網站該具備什麼內容 - 超人教你做網站 #1
Asika Simon
用PY实现"Go元编程"
用PY实现"Go元编程"
Weng Wei
谈谈缓存
谈谈缓存
Weng Wei
论使用Python开发推荐引擎的优越性
论使用Python开发推荐引擎的优越性
Weng Wei
Recommandé
[LaravelConf Taiwan 2019] 在中國三年,從 0 開始自建完整電商餐飲系統
[LaravelConf Taiwan 2019] 在中國三年,從 0 開始自建完整電商餐飲系統
LaravelConfTaiwan
[LaravelConf Taiwan 2019] 內部微服務,隊友開發更快速
[LaravelConf Taiwan 2019] 內部微服務,隊友開發更快速
LaravelConfTaiwan
內部微小服務, 隊友開發更快速
內部微小服務, 隊友開發更快速
EricLiao39
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Asika Simon
優秀的網站該具備什麼內容 - 超人教你做網站 #1
優秀的網站該具備什麼內容 - 超人教你做網站 #1
Asika Simon
用PY实现"Go元编程"
用PY实现"Go元编程"
Weng Wei
谈谈缓存
谈谈缓存
Weng Wei
论使用Python开发推荐引擎的优越性
论使用Python开发推荐引擎的优越性
Weng Wei
Migrate PHP E-Commerce Site to Go
Migrate PHP E-Commerce Site to Go
Weng Wei
About Caching
About Caching
Weng Wei
Metaprogramming Go
Metaprogramming Go
Weng Wei
Why use Go for web development?
Why use Go for web development?
Weng Wei
Go for web
Go for web
Weng Wei
Go for web
Go for web
Weng Wei
Python to go
Python to go
Weng Wei
A byte of git
A byte of git
Weng Wei
My understanding of Git
My understanding of Git
Weng Wei
Sharding
Sharding
Weng Wei
Inside Zend Framework
Inside Zend Framework
Weng Wei
Contenu connexe
Plus de Weng Wei
Migrate PHP E-Commerce Site to Go
Migrate PHP E-Commerce Site to Go
Weng Wei
About Caching
About Caching
Weng Wei
Metaprogramming Go
Metaprogramming Go
Weng Wei
Why use Go for web development?
Why use Go for web development?
Weng Wei
Go for web
Go for web
Weng Wei
Go for web
Go for web
Weng Wei
Python to go
Python to go
Weng Wei
A byte of git
A byte of git
Weng Wei
My understanding of Git
My understanding of Git
Weng Wei
Sharding
Sharding
Weng Wei
Inside Zend Framework
Inside Zend Framework
Weng Wei
Plus de Weng Wei
(11)
Migrate PHP E-Commerce Site to Go
Migrate PHP E-Commerce Site to Go
About Caching
About Caching
Metaprogramming Go
Metaprogramming Go
Why use Go for web development?
Why use Go for web development?
Go for web
Go for web
Go for web
Go for web
Python to go
Python to go
A byte of git
A byte of git
My understanding of Git
My understanding of Git
Sharding
Sharding
Inside Zend Framework
Inside Zend Framework
Zalora php to_go
1.
移PHP电商⺴⽹网站 ⾄至GO的节奏 ! Zalora South East
Asia 架构师 翁伟
2.
Zalora South East
Asia • 2012年初成立 • 东南亚时尚电商 • 新加坡(总部)⻢马来西亚 印尼 香港 越南 泰国 菲律宾 文莱 • 约1000名员工(IT部 约40人)
3.
8月中 始尝试 移
4.
11月初试上线
5.
目前。。。 • 第一版被rollback • 部分推倒重来,积 准备第二版重新上线
6.
今天 • 谈谈在此折腾过程中的经验
7.
原有网站架构 • 经典LAMP • 前端网站(Alice)负责商品显示 • • Memcached / Solr 后端网站(Bob)负责购物⻋车、订单处理等 • MySQL
8.
为何迁移? • 调⽤用memcached非常快,但solr... • PHP的同步运行模式注定会成为瓶颈 • 射手网对此也有分享:https://bitbucket.org/ PinIdea/fcgi_ext/ • 程序员(我!)太闲了
9.
• 第一版仅是试验性项目
10.
• 据说百度很简单, • Zalora的前端网站也就是比百度 杂一倍,有四个⻚页面 • 商品目录 • 商品详情 • 购物⻋车 • 支付 个⻚页面
11.
实验项⺫⽬目计划 • 把这“四个⻚页面”全部用GO改写了∼ • 先把“一个⻚页面”用GO来实现 • nginx分发不同⻚页面至PHP / GO
12.
worker memcache nginx All URLs Alice solr ZRS BOB Tracking
(GA / Webtrekk / etc)
13.
worker product cart.. Alice memcache solr nginx catalog Eve (GO) ZRS BOB Tracking (GA /
Webtrekk / etc)
14.
一些前提
15.
数据兼容 • GO对PHP序列化、反序列化支持 • https://github.com/Wuvist/gophpserialize • https://github.com/Wuvist/gophpserialize/pull/1
16.
17.
⻛风险控制 • 新旧 套系统并存,互不影响 • • • 新版本无需修改任何现有代码 独立的新部署 nginx控制切换 • 随时上线、随时rollback
18.
产品团队的需求 • 商品分类⻚页面浏览体验需改善! • PM直接说:“我们要AJAX...”
19.
看起来很美 • 有节奏的改进网站 • 改善用户体验,满足产品团队需求 • 实现架构迁移,让技术团队不要太闲
20.
激进的计 • 原PHP(Alice),拆分为: • AngularJS (Eve) 前端
MVVM • GO (Costa) 后端API
21.
去PHP化 • 上AngularJS,前端界面全部用AngularJS 染 • GO仅提供rest API服务
22.
23.
• 一切都很美好,上线了! • 直到我膝盖中了一 • 直到我尝试分享网站链接去Facebook
24.
OpenGraph • 用户分享网站链接去Facebook时,Facebook获 得的链接信息(title / text
/ picture)全部都错了
25.
• AngularJS + Go
API的架构完全无法处理此情况 • Eve (AngularJS) 阵亡
26.
其他问题 • AngularJS?可以用jQuery么? • PHP也可以编译的,跟GO一样快∼
27.
Costa (GO) 威武!
28.
第二版 • PHP + GO,预期12月上旬上线 • 无AngularJS
29.
经验 • “慢慢来,比较快” • 去PHP化是不对的∼ • 最重要的是团队整体的共识 • 经过折腾⼩小伙伴们都对Go的潜力有了充分认识
30.
• 成立新部 ,对后端模块进行 移
31.
Go可以做的事情很多 • GroupCache (去Memcached) • 购物⻋车 • 订单处理 • 触发CDN⻚页⾯面过期
32.
Q&A • 想来新加坡从事GO 发? • 发送英⽂文简历⾄至:weng.wei@zalora.com
Télécharger maintenant