Sei sulla pagina 1di 20

Drop DOWNS

a common problem - different approaches

Arpit Mittal @ Naukri.com


Senior Technical Architect

Deepak Mittal @ FirstNaukri.com


Senior Software Engineer

One of the Naukris biggest problems

Dropdown Problem?
Job Seeker
Resman
MNJ AOL ResBilling Resume Service Job Mail

Recruiter
Resdex
MNR EAPPS BRV NC Job Posting

Each individual application has their own independent master data for dropdowns.

Sep 9, 2011

Synchronization, a Pain?
Updating any dropdown have to go through a sprint cycle which takes a week time or more. Requires tech team intervention.

A new value has to go through pain of QA & development.


Additional processing logic required to map ids which makes actual functionality slow.

Sep 9, 2011

How to make it easy ?


1.

Make editing of dropdown data independent of tech team involvement. Make editing of dropdown data real time and free from a delivery process. Synchronize the master data b/w applications:
All the dropdown data will come from single master source for

2.

3.

all the applications.


Preserve the individual applications display order of drop down

data.

Sep 9, 2011

DropDown Service
Each application needs to register with Master Data service. Each application needs to provide an URL to trigger which will update

their (if any) cached master data.


Each application had to write their own code for creating cache data

from service.
Two Phase commit before data changes goes live, in-order to ensure

data syncs with every application.

Sep 9, 2011

Sep 9, 2011

How Naukri did it ?

Master Data Interface - UI

Sep 9, 2011

How are dropdowns Used


Application Cache (PHP Array / JS Array)

DataBase Or Service

Generator Script

Sep 9, 2011

10

Solution Workflow
UI
1 2

DB

Service

4 3 5

App 1

3.1

App 2
3.1

Sep 9, 2011

11

Technology Service
Java 6.0 Thrift 0.5.0

User Interface
Java 6.0 Spring 3 Struts 2

Sep 9, 2011

12

How First Naukri did it ?

First Naukri Architecture


Resdex MNJ
JobSearch

Cache

Cache

Cache

Generator DataBase

Generator

Generator

Sep 9, 2011

14

The Problem
1.

Different applications have similar dropdowns, i.e: City, College, Course Cache files has to go through deployment process. Any addition/change in common dropdown required change in every application.

2. 3.

4. Process time: 1.5 weeks

Sep 9, 2011

15

Solution : Centralized Dropdowns


Centralized DropDown DD API MNJ

Client Config

DD API

Resdex

Generators

Cache

DD API

JobSearch

DataBase
Sep 9, 2011 16

First Naukri Workflow


Dropdown Web Interface

Change Queue

Cache

Read Queue DD Queue Processor

Update DB

Clear Cache

Run Generators

Call Client Trigger s

Database
Sep 9, 2011 17

Cache Synchronization : Harmony

Server 1 Folder

Server 1 Folder

Server 1 Folder

Harmony Sync Folder

Sep 9, 2011

18

Achievement
Time needed to deploy any change in a dropdown has reduced to 1.5 minutes from about 1.5 weeks.

1.5 weeks to 1.5 minutes

Sep 9, 2011

19

Potrebbero piacerti anche