Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
[RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba
1. Best Practices of Scale-up and
non-stop for Legacy System
~Challenge of Rakuten Ichiba
Vol.01 Feb/26/2013
Noboru Ochiai
Japan Ichiba Section
Rakuten Ichiba Development Department, Rakuten Inc.
http://www.rakuten.co.jp/
2. Who are we?
Noboru Ochiai
Japan Ichiba Section
Rakuten Ichiba Development Dept.
Rakuten, Inc.
https://www.facebook.com/imonikai
→Let’s join it!!
11/16(Sun)
2
4. Rakuten’s Business Eco-System
Various Services can be used by one-stop place through the Internet
・Shopping Mall
・Auction
Today’s target
・Advertising
・Streaming
・Downloading
・Recruitment
・Marriage
E-Commerce
Business
Portal/Media
Business
Business
Business
Application
Application
Media
・Credit Card
Business
Business
Credit and
Application
Application
Payment Business
Rakuten ID
Membership
Database
Banking
Business
Business
Business
Application
Application
Business
Business
Travel
Application
Application
Business
・Hotels and Facilities
・Air Tickets
・Dynamic Packages
Business
Business
Telecommunications
Application
Application
Business
・Payment
・Consumer Loan
Securities
Business
Business
Business
Application
Application
・Fixed IP Telephony
・Mobile IP Telephony
・Stocks
・Bonds
・Trust Founds
・FX
4
5. Scale of Rakuten Ichiba
Merchants
:42,000+
Items
:1.7 billion +
Registered
Members
Gross
:78 mil +
Merchant Sales :
1.1tri. JPY(2013)
≒12.5 bil. USD
5
6. Rakuten Ichiba Service Overview
RMS (Rakuten Merchandise System)
– Applications for Merchant .
– Applications for Consumer.
Data analyze for
internal
R-backoffice
R-storefront
GMS(Gross
Merchant
merchant sales)
Reporting
DB
R-Navigation
Consumer
R-Page
html
DWH
R-checkout
6
7. Rakuten’s Issue
Go to “become
the No. 1 Internet
services company
in the world”
But…
SYSTEM
STRUCTURE…
7
8. Problem of Our System
Application having
complicated dependence..
8
9. Problem of Our System
System stops with once a month
11times in a year
Call “Regular maintenance” (added oyastu)
9
10. Detail of our problem
R-backoffice
R-storefront
Order api
Application
APP
synchronous
process
Inventory
DB
Application
APP
APP
View
LOGIC
High load
synchronous
process
LOGIC
DAO
DAO
Dependence
logic
orderDB
Synchronous at DB
Heavy depend on
application
High load DB
R-checkout
Checkout
api
APP
Application
APP
View
Dependence
logic
LOGIC
LOGIC
DAO
DAO
10
11. Resolve an issue ~step 1
R-backoffice
R-storefront
Order api
Application
APP
synchronous
process
Inventory
DB
Application
APP
APP
View
LOGIC
LOGIC
DAO
DAO
Dependence
logic
High load
synchronous
process
orderDB
R-checkout
Checkout
api
Non stop
Checkout
APP
Application
APP
View
Dependence
logic
LOGIC
LOGIC
DAO
DAO
11
12. Detail of Resolve an issue ~step1
After
Before
Application Application
APP
APP
State management
View
View
LOGIC
DAO
Dependence
logic
Checkout
api
synchronous
process APP
LOGIC
APP
APP
LOGIC
Checkout
api
loosely-coupled
logic
DAO
APP
DAO
State management
2PhaseCommit
Order
DB
UI
UI
Application Application
Inventory
DB
kvs
solution
asynchronous
process
Inventory
DB
Order
DB
: Queue
12
13. Resolve an issue ~step 2
R-backoffice
R-storefront
Order api
Application
APP
synchronous
process
Inventory
DB
Application
APP
APP
View
LOGIC
synchronous
process
High load
orderDB
Easily Scale up
at Backoffice
kvs
solution
LOGIC
DAO
DAO
Dependence
logic
R-checkout
Checkout
api
APP
Application
APP
LOGIC
View
DAO
13
14. Detail of Resolve an issue ~step2
Before
After
Complicated search
conditions
Complicated search
conditions
many update order
status
many update order
status
View
View
Application
Application
LOGIC
DAO
APP
Order
api
Order
api
LOGIC
DAO
APP
synchronous
process
APP
Checkout
api
APP
Order
DB
High load
LOGIC
DAO
APP
From checkout
kvs
solution
loosely-coupled
logic
Data
cache
From checkout
kvs
solution
kvs
solution
asynchronous
process
Checkout
api
APP
Order
DB
Decrease
load
14
15. Resolve an issue ~step 3
R-backoffice
R-storefront
Order api
Application
APP
synchronous
process
Inventory
DB
APP
APP
synchronous
process
Application
LOGIC
View
DAO
kvs
solution
orderDB
kvs
solution
Realize 24/7
R-checkout
Checkout
api
APP
Application
APP
LOGIC
View
DAO
15
16. Detail of Resolve an issue ~step3
After
Before
Application
UI
UI
ApplicationApplication
APP
APP
APP
Application
UI
UI
ApplicationApplication
APP
APP
APP
Checkout
api
Checkout
api
APP
APP
synchronous
process
Inventory created api for
inventory update
api
APP
invetory
DB
asynchronous
process
invetory
DB
kvs
solution
16
17. After Resolving our Problem
R-backoffice
R-storefront
Application
Inventory
DB
kvs
solution
APP
Application
Order api
APP
APP
View
LOGIC
inventory
api
DAO
5years
From DB
Asynchronous at 2009 to 2013
APP
kvs
solution
R-checkout
Loosely-coupled
Logic
Decrease load at DB
Checkout
api
APP
orderDB
kvs
solution
Application
APP
LOGIC
View
DAO
: Queue
17
18. Summary
Our system make possible to scale up easily,
so we can catch up with
business growth rapidly.
we can do system maintenance easily and easily
modify/delete application dependencies.
Reduction
To Improve a system..
We had chosen coherence.
kvs
solution
=
18