[RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

Post on 07-Nov-2014

1.148 views 0 download

Tags:

description

Rakuten Technology Conference 2013 "Best Practices of Scale-up and non-stop for Legacy System ~Challenge of Rakuten Ichiba" Noboru Ochiai (Rakuten)

Transcript of [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

Best Practices of Scale-up and non-stop for Legacy System~Challenge of Rakuten Ichiba

Vol.01   Feb/26/2013Noboru OchiaiJapan Ichiba SectionRakuten 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)

3

Challenge for out of Legacy System

Challenging!!

4

Rakuten’s Business Eco-System

Rakuten IDMembership

Database

・ Hotels and Facilities・ Air Tickets・ Dynamic Packages

・ Stocks・ Bonds・ Trust Founds・ FX

・ Advertising・ Streaming ・ Downloading・ Recruitment・ Marriage

・ Credit Card

BusinessApplicationBusiness

ApplicationTravel

Business

BusinessApplicationBusiness

Application

Securities

BusinessBusiness

ApplicationBusiness

ApplicationTelecommunications

Business

BusinessApplicationBusiness

Application

Portal/Media

Business

Media

BusinessApplicationBusiness

ApplicationCredit and

Payment Business

BusinessApplicationBusiness

Application

Banking

Business

・ Payment・ Consumer Loan

Various Services can be used by one-stop place through the Internet

Today’s target

・ Fixed IP Telephony・ Mobile IP Telephony

E-Commerce

Business

・ Shopping Mall・ Auction

5

Scale of Rakuten Ichiba

Merchants : 42,000+

Items : 1.7 billion +

Registered Members : 78 mil +

Gross Merchant Sales :

1.1tri. JPY ( 2013 ) ≒ 12.5 bil. USD

6

Rakuten Ichiba Service Overview

Merchant

Consumer html

RMS (Rakuten Merchandise System)– Applications for Merchant .– Applications for Consumer.

R-storefront

DB

R-Page R-Navigation

R-backoffice

DWH

GMS(Gross merchant sales)

Reporting

Data analyze forinternal

R-checkout

7

Rakuten’s Issue

But…SYSTEM  

STRUCTURE…

Go to “become the No. 1 Internet services company in the world”

8

Problem of Our System

Application having complicated dependence..

9

Problem of Our System

System stops with once a month11times in a yearCall “Regular maintenance” (added oyastu)

10

Detail of our problem

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

View

LOGIC

DAO

LOGIC

DAO

synchronous process

Dependence logic

Application

LOGIC

DAO

LOGIC

DAO

View

synchronous processHigh load

Dependence logic

R-checkout

Synchronous at DB Heavy depend on

application High load DB

11

Resolve an issue ~step 1

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

View

LOGIC

DAO

LOGIC

DAO

synchronous process

Application

LOGIC

DAO

LOGIC

DAO

View

synchronous process

High load

Non stop Checkout

Dependence logic

Dependence logic

R-checkout

12

synchronous process

Detail of Resolve an issue ~step1

2PhaseCommit

APP

APP

APP

Application View

LOGIC

DAO

InventoryDB

OrderDB

APP

Application

State management

APP

UIApplication

APP

State management

Checkoutapi

Checkoutapi

InventoryDB

OrderDB

kvs solution

UIApplication

loosely-coupled logic

asynchronous process

LOGIC

DAO

Dependence logic

View

LOGIC

DAO

Before After

: Queue

13

Resolve an issue ~step 2

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

View

LOGIC

DAO

LOGIC

DAO

synchronous process

Application

LOGIC

DAO

View

synchronous process

High load

Easily Scale up at Backoffice

Dependence logic

R-checkoutkvs solution

14

Detail of Resolve an issue ~step2

synchronous process

APP

APP

ApplicationView

LOGIC

DAO

OrderDB

Orderapi

loosely-coupled logic

LOGIC

DAO

High load

many update order status

Complicated search conditions

APP

Checkoutapi

kvs solution

From checkout

APP

APP

ApplicationView

OrderDB

Orderapi

LOGIC

DAO

many update order status

Complicated search conditions

APP

Checkoutapi

kvs solution

From checkout

kvs solution

asynchronous process

Data cache

Decreaseload

Before After

15

Resolve an issue ~step 3

Realize 24/7

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

ViewLOGIC

DAO

synchronous process

Application

LOGIC

DAO

View

synchronous process

R-checkoutkvs solution

kvs solution

16

Detail of Resolve an issue ~step3

synchronous process

APP

Application

invetoryDB

APP

Checkoutapi

APP

UIApplication

APP

UIApplication

APP

Application

invetoryDB

APP

Checkoutapi

APP

UIApplication

APP

UIApplication

APP

Inventoryapi

kvs solution

created api for inventory update

asynchronous process

Before After

17

After Resolving our Problem

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

ViewLOGIC

DAO

Application

LOGIC

DAO

View

R-checkout

APP

inventoryapi

kvs solution

kvs solution

kvs solution

Asynchronous at DB Loosely-coupled

Logic Decrease load at DB

: Queue

5yearsFrom 2009 to 2013

18

Summary

Our system make possible to scale up easily,

so we can catch up with

business growth rapidly.

We had chosen coherence.

we can do system maintenance easily and easily modify/delete application dependencies.

To Improve a system..

Reduction

kvs solution =

19

Last message

Challenging!!

20

Thank you for your listening

Thank You

For Listening!!