날짜별 글 목록: 2010년 7월 16일

24시간 365일 서버/인프라를 지탱하는 기술..

이 책의 내용은 서비스나 시스템의 다운타임을 가져가지 않고, 어떻게 하면 High Scalabilty/Availability한 서비스나 시스템을 구축할 수 있는 방법에 대한 경험적인 내용이 주 내용이다.

각 장에서 소개하는 기법이나 툴에 대한 깊이는 약간 부족한 편이지만, 그건 각자 알아서 봐야 겠공.. 개발자들도 정독할 필요가 있는 내용이 많아서, 개발 및 시스템을 유지하는데 매우 도움이 될 만한 책인거 같다.

아래는 Yes24에 기술되어 있는 서평이다.

일본의 구글이라고 평가받는 ㈜Hatena와 모바일 플랫폼 서비스를 제공하는 KLab㈜의 서버/인프라 베테랑 엔지니어 6명이 실제 가동중인 시스템을 실례로 들면서 그들의 축적된 노하우를 공개한 책이다. 오픈소스 소프트웨어를 이용하여 24시간 365일 무중단 서비스를 운용하기 위한 ‘다중화’, ‘성능향상’, ‘확장성’, ‘운용효율성’에 대해 기본적인 이론과 함께 실무에서 검증된 그들만의 팁들을 수록하였다.

‘다중화’되고 ‘확장성’도 있으면서 성능을 최고로 끌어올리고, 효과적인 운용을 위한 서버/인프라를 구축하기 위한 힌트를 담고 있는 이 책은 서버/인프라 구축 입문에서부터 한 단계 높은 서버/인프라 구축, 무중단 인프라를 향한 디자인 등을 다루고 있다. 이후 서버의 성능을 향상시킬 수 있는 방안과 실제 운용법, 실제로 가동 중인 네트워크와 서버 인프라에 대한 내용을 다루고 있다.

http://www.yes24.com/24/goods/3377489

java signal handling

java에서 처리할 수 있는 signal과 그 내용입니다. 아래의 reference를 통해서 java에서 signal을 어떻게 처리하고, 새로운 signal을 등록할 수 있는 예제를 확인하실 수 있다. 아래는 자바에서 지원되는 시그널과 내용이다.

Signal Name

Description

SIGSEGV

Incorrect access to memory
(write to inaccessible memory)

SIGILL

Illegal instruction (attempt to
invoke a unknown machine instruction)

SIGFPE

Floating point exception
(divide by zero)

SIGBUS

Bus error (attempt to address
nonexistent memory location)

SIGSYS

Bad system call issued

SIGXCPU

CPU time limit exceeded (you’ve
been running too long!)

SIGXFSZ

File size limit exceeded

SIGEMT

EMT instruction (AIX specific)

SIGABRT

Abnormal termination. The JVM
raises this signal whenever it detects a JVM fault.

SIGINT

Interactive attention (CTRL-C).
JVM will exit normally.

SIGTERM

Termination request. JVM will
exit normally.

SIGHUP

Hang up. JVM will exit
normally.

SIGUSR1

User defined. Used by some JVMs
for internal control purposes.

SIGUSR2

User defined. Used by some JVMs
for internal control purposes.

SIGQUIT

A quit signal for a terminal.
JVM uses this for taking Java core dumps.

SIGBREAK

A break signal from a terminal.
JVM uses this for taking Java core dumps.

SIGTRAP

Internal for use by dbx or
ptrace. Used by some JVMs for internal control purposes.

SIGPIPE

A write to a pipe that is not
being read. JVM ignores this.

No Name (40)

An AIX reserved signal. Used by
the AIX JVM for internal control purposes.

OS별 지원되는 signal에 대한 내용이다.

E.g. for Unix/Linux based platform the signals are SEGV, ILL, FPE,
BUS, SYS, CPU, FSZ, ABRT, INT, TERM, HUP, USR1, QUIT, BREAK, TRAP,
PIPE.

For Windows based platform, the signals are SEGV, ILL, FPE, ABRT,
INT, TERM, BREAK.

* Reference
http://www.ibm.com/developerworks/ibm/library/i-signalhandling/
http://twit88.com/blog/2008/02/06/java-signal-handling/
http://mimul.com/pebble/default/2009/07/19/1248007080000.html