21
Sense of SENS Oct/25/2014 Takayuki Nishiyama Rakuten Ichiba Development Department, Rakuten Inc. http://www.rakuten.co.jp/

[Rakuten TechConf2014] [Sendai] Sense of SENS

Embed Size (px)

DESCRIPTION

Rakuten Technology Conference 2014 "Sense of SENS" Takayuki Nishiyama (Rakuten)

Citation preview

Page 1: [Rakuten TechConf2014] [Sendai] Sense of SENS

Sense of SENS

Oct/25/2014

Takayuki Nishiyama

Rakuten Ichiba Development Department, Rakuten Inc.

http://www.rakuten.co.jp/

Page 2: [Rakuten TechConf2014] [Sendai] Sense of SENS

2

Introduce Myself

Page 3: [Rakuten TechConf2014] [Sendai] Sense of SENS

3

Takayuki Nishiyama [Taka,Nisshy]

25 years old

4 years engineer

Long・Experienced Short・Interest・Learning

Page 4: [Rakuten TechConf2014] [Sendai] Sense of SENS

4

Topic

• What is SENS?

• Requirement

• Architecture

• Impression

Page 5: [Rakuten TechConf2014] [Sendai] Sense of SENS

5

Situation before Release SENS

Merchant

Inventory

All Rest

1 Item → 0 item

XX EC Site Rakuten YY EC Site

Stock Rest Stock Rest Stock Rest

1 11

0

Purchase

Real-Time

Purchase

Not delivered

Lag 15 min

Page 6: [Rakuten TechConf2014] [Sendai] Sense of SENS

6

Situation before Release SENS

Rakuten

Purchase

Order Mail

• Analyze mail & Collaborate System

• Manual Management

Page 7: [Rakuten TechConf2014] [Sendai] Sense of SENS

7

Shop

pe

r

Basket

SE

NS

Inven

tory

M

an

ag

em

ent

Syste

m

What is System Event Notification Service(SENS)?

Page 8: [Rakuten TechConf2014] [Sendai] Sense of SENS

8

Situation after Release SENS

Merchant

Inventory

All Rest

1 Item → 0 item

XX EC Site Rakuten YY EC Site

Stock Rest Stock Rest Stock Rest

0 01

Sync

Purchase

Real-Time

Give up

0

Sync

Easy!!

Page 9: [Rakuten TechConf2014] [Sendai] Sense of SENS

9

Requirement (Mission)

1. Real-time

2. Ensure Order Sync

3. Avoid Duplication

4. Keep High Performance

Page 10: [Rakuten TechConf2014] [Sendai] Sense of SENS

10

Architecture of SENS(First Version)

DB

API Layer Batch Layer

Java Remote Interface

Page 11: [Rakuten TechConf2014] [Sendai] Sense of SENS

11

Architecture of SENS

DB

API Layer Batch Layer

Java Remote Interface

Took Ave 207msec???

Too Slow !!

• Asynchronous

• Loose coupling ….

Page 12: [Rakuten TechConf2014] [Sendai] Sense of SENS

12

• Asynchronous

• Loose coupling

http://camel.apache.org/

→Message Routing Framework

Page 13: [Rakuten TechConf2014] [Sendai] Sense of SENS

13

Architecture of SENS

DB

API Layer Batch LayerCamel Layer

Java Remote Interface

Ave 40msec

ASYNC

Page 14: [Rakuten TechConf2014] [Sendai] Sense of SENS

14

Camel (Good Point)

• Understandable to message route

• Almost all Setting File

• Easy to set connection

Page 15: [Rakuten TechConf2014] [Sendai] Sense of SENS

15

Camel (Good Point)

• Coding is very simple

→Sending Process in Setting File

Page 16: [Rakuten TechConf2014] [Sendai] Sense of SENS

16

Camel (Bad point)

• Welcome to XML Hell

Line number: 213

- Process Flow Line : About 180

- End Point Line : 15

Page 17: [Rakuten TechConf2014] [Sendai] Sense of SENS

17

Camel (Bad point)

• Need many parameter

→this is one endpoint….

async or sync

Timeout

decode/encode

disconnect permanently

Etc…

Page 18: [Rakuten TechConf2014] [Sendai] Sense of SENS

18

Impression

• For loosing coupling, using camel is good

Page 19: [Rakuten TechConf2014] [Sendai] Sense of SENS

19

Impression

• For expanding service, there are many issue

Page 20: [Rakuten TechConf2014] [Sendai] Sense of SENS

20

Impression

• Thinking solution and architecture is fun!

Page 21: [Rakuten TechConf2014] [Sendai] Sense of SENS

21

Thank you!!!