23
Samsung SDS, Framework Group JAVA Center-Cut 조인석 2010. 11. 18

Anyframe Enterprise JAVA Center-cut Framework

Embed Size (px)

Citation preview

Samsung SDS, Framework Group

JAVA Center-Cut

조인석

2010. 11. 18

Agenda

What is Center-Cut?

Scenario

Architecture

Module Process

Deployment View

Fail-Over & Recovery

Feature

Admin UI

Demo

Q & A

BusinessComplexity

Processing Volume

Online

Center-Cut

Batch

Center-Cut ?

Center-Cut is..

대량 데이터를 온라인에서 효율적으로 일괄처리 되도록구현한 솔루션

1건씩 처리하면서 고유 거래처리와 환원자료생성, 후처리로그 생성, 전표 발생 등의 단위 트랜잭션을 수만건 내지 수천만건을 병렬 처리하여 짧은 시간내에 처리 하는개념

예를 들어 수천만건의 입금거래를 단말에서 수행하지 않고 Center 에서 일정시점까지 축적된 자료를 기준으로Cut 하여 처리하는 방식

금융 차세대 시스템의 핵심 요소

[Thread 2] 1000001 ~ 2000000

[Thread 1] 1 ~ 1000000

[Thread 3] 2000001 ~ 3000000

[Thread 40] 39000001 ~ 40000000

[Thread 4] 3000001 ~ 4000000

[Thread 5] 4000001 ~ 5000000

Scenario #1

[Thread 6] 5000001 ~ 6000000

[Thread 7] 6000001 ~ 7000000

[Thread 8] 7000001 ~ 8000000

[Thread 9] 8000001 ~ 9000000

[Thread 10] 9000001 ~ 10000000

총 4 천만건

Job List Admin Engine List

JOB PYY0

주간 일괄 입금 처리

40 Thread

4 Engine

Engine 1

Thre

ad 1

Thre

ad 2

Thre

ad 3

Thre

ad 4

Thre

ad 5

Thre

ad 6

Thre

ad 7

Thre

ad 8

Thre

ad 9

Thre

ad 1

0

Engine 2

Thre

ad 1

1

Thre

ad 1

2

Thre

ad 1

3

Thre

ad 1

4

Thre

ad 1

5

Thre

ad 1

6

Thre

ad 1

7

Thre

ad 1

8

Thre

ad 1

9

Thre

ad 2

0

Engine 3

Thre

ad 2

1

Thre

ad 2

2

Thre

ad 2

3

Thre

ad 2

4

Thre

ad 2

5

Thre

ad 2

6

Thre

ad 2

7

Thre

ad 2

8

Thre

ad 2

9

Thre

ad 3

0

Engine 4

Thre

ad 3

1

Thre

ad 3

2

Thre

ad 3

3

Thre

ad 3

4

Thre

ad 3

5

Thre

ad 3

6

Thre

ad 3

7

Thre

ad 3

8

Thre

ad 3

9

Thre

ad 4

0

Thread 1 100 100 100 … 100

WAS In

stance

4

Thread 2 100 100 100 … 100

Thread 3 100 100 100 … 100

Thread 10 100 100 100 … 100…

Thread 1 100 100 100 … 100

WAS In

stance

3

Thread 2 100 100 100 … 100

Thread 3 100 100 100 … 100

Thread 10 100 100 100 … 100

Thread 1 100 100 100 … 100

WAS In

stance

2

Thread 2 100 100 100 … 100

Thread 3 100 100 100 … 100

Thread 10 100 100 100 … 100

Engine 4 - 10 Thread

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad 4

0

Engine 3 - 10 Thread

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad 3

0

Engine 2 - 10 Thread

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad 2

0

Engine 1 - 10 Thread

Thre

ad 1

Thre

ad 2

Thre

ad 3

Thre

ad 4

Thre

ad 5

Thre

ad 6

Thre

ad 7

Thre

ad 8

Thre

ad 9

Thre

ad 1

0

Scenario #2

JOB PYY0

주간 일괄 입금 처리

100 Commit Unit

10 Job Interval

50% WAS CPU Usage

Thread 1 100 100 100 … 100

WAS In

stance

1Thread 2 100 100 100 … 100

Thread 3 100 100 100 … 100

Thread 10 100 100 100 … 100

Thread 1 100 100 100 … 100

WAS O

nlin

e 1

Thread 2 100 100 100 … 100

Thread 3 100 100 100 … 100

Thread 10 100 100 100 … 100

Scenario #3

JOB PYY0

주간 일괄 입금 처리

300 sec Tx Timeout

3 Retry count

12 hour Maximum Processing time

Failed Commit Units

Policy Data

Primary

SecondaryAdmin

Engine 1Thread Pool

OLTP Driver

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

WAS Instance 1Hessian Adapter

Business Logic

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Engine 2Thread Pool

OLTP Driver

WAS Instance 2Hessian Adapter

Business Logic

Engine 3Thread Pool

OLTP Driver

WAS Instance 3Hessian Adapter

Business Logic

Engine 4Thread Pool

OLTP Driver

WAS Instance 4Hessian Adapter

Business Logic

Architecture

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

Thre

ad

DB

Manage-mentLayer

ThreadControl Layer

Execution Control Layer

Online Execution

Layer

Resource Layer

WASWAS

WAS

WAS

Admin

Business DB

Admin DB

F/W module Develop ModuleRemote Call

Online BatchScheduler

Engine

Engine

Engine

Engine

WAS

WAS Online Instance

Broker

ItemReader DAO

DAO

Service&

Business

ItemWriter

Module Process

1 구동 요청

2 분배정책 로딩

3 쓰레드 할당4 처리 요청

5 처리대상 리스트 획득

6 건별 처리

7 결과 입력

8 처리 완료

9 관리DB 업데이트

Domain 1

Admin(Secondary)

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

Admin(Primary)

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

ExternalScheduler

BATCH

ONLINE

Center-CutScheduler

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

Admin(Secondary)

Business DB

Center-Cut Admin DB

Engine

Engine

Engine

Engine

Engine

Engine

Center-Cut Admin DBCenter-Cut Admin DB

Business DB

Business DB

Deployment View

성능 사례 – S 생보 차세대 시스템

Admin(Secondary)

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

Admin(Primary)

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

Center-CutScheduler

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

WAS Instance

Admin(Secondary)

Business DB(RAC 3)

Center-Cut Admin DB(RAC 3)

Engine

Engine

Engine

Engine

Engine

Engine

Center-Cut Admin DB(RAC 3)Center-Cut

Admin DB

Business DB(RAC 3)

Business DB

RemoteCall

Fail Over & Recovery

Feature #1

설정 용이성– Job 실행 중 Job 설정 실시간 변경으로 부하 조절 가능

– WAS CPU Usage 기반 온라인 업무 부하 자동 조정

– Job 별 트랜잭션 Timeout 개발 설정 지원

– 개별 스케줄러별 Job 실행 정책 재정의 가능

모니터링– 장애 내용의 통합 관리

– 업무 로직 구동중 Error 발생 위치 추적 용이

– 업무 장애에 대한 실시간 Notification ( SMS 발송 )

고가용성– Admin / Engine / WAS Online Crash 시 자동 Recovery 지

원으로 장애상황에서의 트랜잭션 보장

– 유지보수시간 설정 기능으로 작업 취소 없이 작업 가능

Feature #2

확장성

– 멀티 도메인 지원

– 업무 전처리,후처리 확장 지원

– Admin - Engine Agent의 분리구조로 환경이 제공하는 한무한대의 확장 가능

– 외부 인터페이스와 연계 가능(배치, Control-M 등)

– Job 별로 Input, Output Parameter 명시적 설정 및Validation 지원

싞뢰성

– 중단된 JOB, 장애 발생 JOB의 실행 위치 조정(Thread Relocation) & 재처리 기능 제공

– Lock 등으로 인한 처리 장애 이벤트의 기록 & 자동 Retry

– WAS Online 장애시 일정기간 대기 후 자동복구 기능 제공

Admin UI

Resume

Run

Cancel Suspend

Modify

Refresh

Execution Details

Job Instance Info

Auto Refresh

Running job list

RetryCount

TxTimeout

JobInterval

CommitUnit

WASCPU

Usage

Job Setup Management

Policy Management

Schedule Management

Event view

Demo

Q&A조인석 ([email protected])

Thank you