drop downs v2

Upload: deepak-mittal

Post on 07-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 Drop Downs v2

    1/20

    Drop DOWNS

    Arpit Mittal @ Naukri.comSenior Technical Architect

    Deepak Mittal @ FirstNaukri.com

    Senior Software Engineer

    a common problem - different approaches

  • 8/4/2019 Drop Downs v2

    2/20

    One of the Naukris biggest problems

  • 8/4/2019 Drop Downs v2

    3/20

    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 3

  • 8/4/2019 Drop Downs v2

    4/20

    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 requiredto map ids which makes actual

    functionality slow.

    Sep 9, 2011 4

  • 8/4/2019 Drop Downs v2

    5/20

    How to make it easy ?

    1. Make editing of dropdown data independent of techteam involvement.

    2. Make editing of dropdown data real time and free

    from a delivery process.

    3. Synchronize the master data b/w applications:

    All the dropdown data will come from single master source for

    all the applications.

    Preserve the individual applications display order of drop down

    data.

    Sep 9, 2011 5

  • 8/4/2019 Drop Downs v2

    6/20

    DropDownService

    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 6

  • 8/4/2019 Drop Downs v2

    7/20Sep 9, 2011 7

  • 8/4/2019 Drop Downs v2

    8/20

    How Naukri did it ?

  • 8/4/2019 Drop Downs v2

    9/20

    Master Data Interface -UI

    Sep 9, 2011 9

  • 8/4/2019 Drop Downs v2

    10/20

    How are dropdownsUsed

    Sep 9, 2011 10

    ApplicationCache

    (PHP Array /JS Array)

    Generator ScriptDataBase

    OrService

  • 8/4/2019 Drop Downs v2

    11/20

    SolutionWorkflow

    App 1

    App 2

    Service

    UI DB1

    2

    3

    3

    3.1

    3.1

    45

    5

    Sep 9, 2011 11

  • 8/4/2019 Drop Downs v2

    12/20

    Technology

    Service

    Java 6.0

    Thrift 0.5.0

    User Interface

    Java 6.0

    Spring 3 Struts 2

    Sep 9, 2011 12

  • 8/4/2019 Drop Downs v2

    13/20

    How First Naukri did it ?

  • 8/4/2019 Drop Downs v2

    14/20

    First Naukri Architecture

    Sep 9, 2011 14

    MNJ

    Cache

    Generator

    DataBase

    Generator Generator

    Resdex

    Cache

    JobSearch

    Cache

  • 8/4/2019 Drop Downs v2

    15/20

    The Problem

    Sep 9, 2011 15

    1. Different applications have similar dropdowns, i.e:City, College, Course

    2. Cache files has to go through deployment process.

    3. Any addition/change in common dropdown requiredchange in every application.

    4. Process time: 1.5 weeks

  • 8/4/2019 Drop Downs v2

    16/20

    Solution : Centralized Dropdowns

    Sep 9, 2011 16

    DataBase

    CentralizedDropDown

    DDAPI MNJ

    DDAPI Resdex

    DDAPI JobSearch

    Client Config

    Generators

    Cache

  • 8/4/2019 Drop Downs v2

    17/20

    First Naukri Workflow

    Sep 9, 2011 17

    Cache

    ClearCache

    ReadQueue

    CallClient

    Trigger

    s

    RunGenerators

    Database

    UpdateDB

    Dropdown Web Interface

    Change Queue

    DD Queue Processor

  • 8/4/2019 Drop Downs v2

    18/20

    Cache Synchronization : Harmony

    Sep 9, 2011 18

    Harmony Sync Folder

    Server 1

    Folder

    Server 1

    Folder

    Server 1

    Folder

  • 8/4/2019 Drop Downs v2

    19/20

    Achievement

    Sep 9, 2011 19

    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

  • 8/4/2019 Drop Downs v2

    20/20