SlideShare a Scribd company logo
1 of 19
系統重構實例分享
Improving Design of Existing EC System
Simon Liang (YC)
大綱
• 面臨問題
• 調整面向
• 調整計畫
• Framework主體架構優化
• 套件&服務接口重構
• 開發流程優化
• 分群重構
• 未來新架構導入
面臨問題
• 系統可靠度不足
• 運作穩定度不足
• 資料結構複雜
• 開發速度與品質
調整面向
• 流程管理優化
• 主體架構優化
• 資料庫重構
• 應用層重構
• 新架構導入
調整計畫 (1/2)
前期
• Framework主體架構優化
• 套件&服務接口重構
中期
• 系統整理&系統分析
• 分群重構 (前端服務)
後期
• 分群重構 (管理系統)
• 上線替換作業
調整計畫 (2/2)
• 持續性計畫
• 開發流程優化
• 團隊技術交流
• 未來計畫
• 服務端三層式架構
• 進度規劃
• 工作順序
• 人力資源
Framework主體架構優化
• Base Model & Controller Refactor
• Member
• Global Variable
• Config Refactor
• YAML
• Import Timing
• Exception Refactor
• Log center
• Output Control
套件&服務接口重構
• Cache Refactor
• Basic function (Set, Put, Delete)
• Query, Key Hash, Namespace Cache
• Namespace control
• DB model Refactor
• Connection control
• Read/Write split control
• Transaction control
• Table schema cache
• PHP-Resque Refactor
• Search Engine Replacement
• Composer Refactor
開發流程優化
• Develop Enviroment
• Database Version Control
• DEV Config Version Control
• Coding Style
• Auto format tools
• Code Review & Testing
• Functional test
• Unit-Test coverage
系統整理&分析
• 整理現有系統
• 資料表重新設計
• 物件模組重新設計
• 重點流程機制設計
分群重構
• 執行順序
• 前台優先
• 重點區塊優先
• 執行方式
• 資料&邏輯區塊優先
• 新舊並存
• 佈署方式
• 分段上線
• 先上線後剔除
分群重構-執行順序
前台(API, Task included) 後台
重點區塊 商品
賣場
購物車
訂單
金流&帳務
B2E
B2B
B2C
一般區塊 會員
目錄
抵用金
折價卷
電子報
CRM
分群重構-執行方式 (1/2)
Model DAO Tables
New TableModel DAO
Controller
View
分群重構-執行方式 (2/2)
Model DAO Tables
New TableModel DAOImport API
B2E, Task ....
分群重構-佈署方式
• Create new table
• Sync table data
• Deploy backend portals & tasks
• Deploy Application
• Drop unused table & file
現有架構
Model DAO DatabaseController
View
Presentation Tier Business Tier Data Access Tier
Client
Basic MVC Design Pattern with 3 tier Architecture
服務端三層式架構 (1/2)
Model DAO DatabaseController
Interface
Service Tier Business Tier Data Access Tier
View
Controller
Model
Web Site
Interface
Controller
Model
Web Service
Client AppClient Browser
Application Layer Data Layer
Service Layer
• 服務層
• 網頁服務
• API服務
• 應用層
• 商業邏輯控制
• 流程管理
• 資料存取
• 資料層
服務端三層式架構 (2/2)
Mysql Node 1
AP Server 1 AP Server 2 AP Server n
Firewall & Load Balance
Mysql Node 2 Mysql Node n
WEB Server 1 WEB Server 2 WEB Server n
Application Layer
Service Layer
Data Layer
API Request
MySQL Protocol
Q&A

More Related Content

Viewers also liked

Los animales mas peligrosos.
Los animales mas peligrosos.Los animales mas peligrosos.
Los animales mas peligrosos.
lolaprubio
 
RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM
 
Linux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bbLinux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bb
A7madal6ayer
 
2015 06 04 quality control (english version)
2015 06 04 quality control (english version)2015 06 04 quality control (english version)
2015 06 04 quality control (english version)
RAINBOW by ECS-3.COM
 
Landmark company profile
Landmark company profileLandmark company profile
Landmark company profile
Joseph Links
 

Viewers also liked (20)

三層式架構設計
三層式架構設計三層式架構設計
三層式架構設計
 
Rainbow by ecs-3.com: протоколы испытаний на огнестойкость
Rainbow by ecs-3.com: протоколы испытаний на огнестойкостьRainbow by ecs-3.com: протоколы испытаний на огнестойкость
Rainbow by ecs-3.com: протоколы испытаний на огнестойкость
 
Funding cameroon's development through foreign direct investment
Funding cameroon's development through foreign direct investmentFunding cameroon's development through foreign direct investment
Funding cameroon's development through foreign direct investment
 
Los animales mas peligrosos.
Los animales mas peligrosos.Los animales mas peligrosos.
Los animales mas peligrosos.
 
RAINBOW by ECS-3.COM: Контроль качества (русская версия)
RAINBOW by ECS-3.COM: Контроль качества (русская версия)RAINBOW by ECS-3.COM: Контроль качества (русская версия)
RAINBOW by ECS-3.COM: Контроль качества (русская версия)
 
RAINBOW by ECS-3.COM: Преимущества стратегии (русская версия)
RAINBOW by ECS-3.COM: Преимущества стратегии (русская версия)RAINBOW by ECS-3.COM: Преимущества стратегии (русская версия)
RAINBOW by ECS-3.COM: Преимущества стратегии (русская версия)
 
RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)
 
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
 
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
 
RAINBOW by ECS-3.COM: Quality control (english version)
RAINBOW by ECS-3.COM: Quality control (english version)RAINBOW by ECS-3.COM: Quality control (english version)
RAINBOW by ECS-3.COM: Quality control (english version)
 
RAINBOW by ECS-3.COM: Ноу-хау (укр)
RAINBOW by ECS-3.COM: Ноу-хау (укр)RAINBOW by ECS-3.COM: Ноу-хау (укр)
RAINBOW by ECS-3.COM: Ноу-хау (укр)
 
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
 
RAINBOW by ECS-3.COM: Advantages of our product (english version)
RAINBOW by ECS-3.COM: Advantages of our product (english version)RAINBOW by ECS-3.COM: Advantages of our product (english version)
RAINBOW by ECS-3.COM: Advantages of our product (english version)
 
Linux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bbLinux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bb
 
RAINBOW by ECS-3.COM: The panels (english version)
RAINBOW by ECS-3.COM: The panels (english version)RAINBOW by ECS-3.COM: The panels (english version)
RAINBOW by ECS-3.COM: The panels (english version)
 
Computer networks
Computer networksComputer networks
Computer networks
 
RAINOW by ECS-3.COM: панелі (українська версія)
RAINOW by ECS-3.COM:  панелі (українська версія)RAINOW by ECS-3.COM:  панелі (українська версія)
RAINOW by ECS-3.COM: панелі (українська версія)
 
Conference tour economy of ecology
Conference tour economy of ecology Conference tour economy of ecology
Conference tour economy of ecology
 
2015 06 04 quality control (english version)
2015 06 04 quality control (english version)2015 06 04 quality control (english version)
2015 06 04 quality control (english version)
 
Landmark company profile
Landmark company profileLandmark company profile
Landmark company profile
 

Similar to 系統重構實例分享

辽宁大学私有云项目分析
辽宁大学私有云项目分析辽宁大学私有云项目分析
辽宁大学私有云项目分析
博 孟
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
Paul Chao
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
Paul Chao
 
Wushi-Qcon2011
Wushi-Qcon2011Wushi-Qcon2011
Wushi-Qcon2011
Yiwei Ma
 
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
Yiwei Ma
 
快速搭建高性能服务端
快速搭建高性能服务端快速搭建高性能服务端
快速搭建高性能服务端
moonbingbing
 

Similar to 系統重構實例分享 (20)

我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
 
辽宁大学私有云项目分析
辽宁大学私有云项目分析辽宁大学私有云项目分析
辽宁大学私有云项目分析
 
廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰廣宣學堂: 企業導入微服務實戰
廣宣學堂: 企業導入微服務實戰
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
 
Agile development
Agile developmentAgile development
Agile development
 
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
 
构建高性能MySQL系统
构建高性能MySQL系统构建高性能MySQL系统
构建高性能MySQL系统
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
 
Sql server performance Tuning
Sql server performance TuningSql server performance Tuning
Sql server performance Tuning
 
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
 
SQL-PASS-Summit-2023-善用SQLServer2022輕鬆完成應用需求Rico.pdf
SQL-PASS-Summit-2023-善用SQLServer2022輕鬆完成應用需求Rico.pdfSQL-PASS-Summit-2023-善用SQLServer2022輕鬆完成應用需求Rico.pdf
SQL-PASS-Summit-2023-善用SQLServer2022輕鬆完成應用需求Rico.pdf
 
Wushi-Qcon2011
Wushi-Qcon2011Wushi-Qcon2011
Wushi-Qcon2011
 
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?
 
作業系統概論
作業系統概論作業系統概論
作業系統概論
 
Query store查詢調校新利器
Query store查詢調校新利器Query store查詢調校新利器
Query store查詢調校新利器
 
快速搭建高性能服务端
快速搭建高性能服务端快速搭建高性能服务端
快速搭建高性能服务端
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 

系統重構實例分享

Editor's Notes

  1. 初步規劃, 詢問大家想法後再分群