JBoss Data Grid 데모
Server Side Architect Group에서 진행한 In Memory Data Grid – Infinispan(JBoss Data Grid)에 대한 웨비나 동영상입니다.
JBoss EAP 는 세계 최고의 오픈소스 미들웨어 솔루션으로 가장 높은 시장 점유율을 점유하고 있습니다.오픈소스 Wildfly 프로젝트 (구 JBoss Application Server 프로젝트)를 기반으로 개발된 엔터프라이즈급 상용 애플리케이션 플랫폼 입니다.
Server Side Architect Group에서 진행한 In Memory Data Grid – Infinispan(JBoss Data Grid)에 대한 웨비나 동영상입니다.
“Horseless Carriage”는 “말이 없는 마차” 라는 의미입니다. 지금은 Car (자동차) 라는 단어로 쓰이고 있습니다.
NoSQL이 SQL이 없는 데이터베이스를 의미하는 것처럼 NoSQL를 잘 전달하기 위한 좋은 아이디어라고 생각됩니다.
기존의 RDBMS 는 데이터베이스 + SQL(인터페이스) 로 생각해보면 NoSQL (Not Only SQL) 은 SQL 인터페이스가 아닌 데이터베이스라고 할 수 있을 것입니다.
JBoss Datagrid (Infinispan) 에 저장된 데이터가 예기치 못한 장애나 서버 작업으로 인하여 유실되었을 경우를 대비해 File이나 DB 로 Persistence 하게 저장할 수 있도록 하는 Persistence 와 캐시스토어 설정과 사용방법에 대해 예제를 통하여 살펴봅니다. 이 예제는 Infinispan 6.0.1 버전을 기반으로 하였으며, JBoss Data Grid 버전으로는 6.2.0 버전에 해당합니다.
Drools 6.0 룰 엔진에서 선언적 프로그래밍 형태의 간단한 룰 애플리케이션을 작성해 봅니다.
선언적 프로그래밍은 ‘어떻게 해야 하는가’(How to do it) 아닌 무엇을 해야 하는가 ’What to do’에 집중하여 프로그래밍하는 방법입니다.
예를 들자면 “최댓값 구하기”를 절차적 프로그래밍 언어로 구현한다면 루프를 이용하여 값의 집합에서 각 값을 반복적으로 비교하고 최종적으로 최댓값을 구하는 코드로 작성할 것입니다.
만약 이 문제를 룰 시스템을 이용하여 해결한다면 최댓값은 값의 집합 중에 가장 큰 값이 될 것입니다. 즉 “값의 집합에서 그 값보다 큰 값이 존재하지 않는 값” 이라고 할 수 있습니다.
이 책에는 그동안 미들웨어 엔지니어로서 현장에서 직접 경험했던 컨설팅, 장애 지원, 기술지원, 튜닝, 벤치마크 테스트 등을 바탕으로 JBoss EAP6 (AS7) 과 관련된 시스템 (웹서버, 리눅스 등) 들을 운영하는 데 필요한 여러 지식과 경험을 담았다. JBoss EAP6 ( AS7 ) 에 관한 개발환경 구성과 운영 환경에 필요한 설치 ,구성 , 애플리케이션 배포, 보안, 관리, 모니터링 및 성능 튜닝을 소개하고 있다.
JBoss EAP7 또는 Wildfly 에서는 JBoss EAP6 (JBoss AS7) 이전 버전에서 사용하던 tomcat 기반의 JBossWeb 대신 Undertow를 사용합니다. Undertow는 웹서버와 서블릿 컨테이너 기능을 제공합니다. Java Servlet 3.1 표준과 WebSocket 을 구현하고 Http Upgrade를 지원합니다. 또한 서블릿 배포 환경에서 고성능 Non-Blocking 핸들러를 사용할 수 있습니다.
Infinispan (http://infinispan.org/)은 레드햇/JBoss의 오픈소스 분산 메모리 Key/Value 데이터 그리드 솔루션입니다. Hazelcast나 redis와 같은 솔루션에서는 Key/Value 방식이외에 Queue와 같은 자료 구조를 제공하기 때문에 편리하게 사용할 수 있습니다.
Infinispan에서 Queue와 같은 자료구조를 Key / Value 구조만으로 Linked-List를 만들어 샘플을 구현했습니다. Infinispan은 트랜잭션을 지원하기 때문에 포인터와 Queue Element의 입/출력시에는 트랜잭션을 사용했습니다.
JBoss EAP6에서 인스턴스 시작 시 참조되는 바인딩 주소와 각종 디렉터리를 지정하는 시작 파라미터들에 대해 설명한다.
도메인모드와 스탠드얼론 모드 각각 $JBOSS_HOME/bin/domain.sh 와 $JBOSS_HOME/bin/standalone.sh 를 파라미터 없이 실행하면 기본 설정으로 JBoss EAP6 인스턴스가 실행된다.
아래에서 설명한 내용들은 다음의 URL에서 참조할 수 있다.
l JBoss AS7 Command line parameters
(https://docs.jboss.org/author/display/AS7/Command+line+parameters )
Apache HTTPD 2.0 버전에 추가된 MPM 중 가장 많이 사용하는 Prefork MPM과 worker MPM의 차이점을 간단하게 설명한다. 먼저 prefork MPM은 Apache 1.3 버전에서 사용하던 방식으로 자식 프로세스를 먼저 시작해 놓고, 클라이언트 요청에 대해서 각각의 자식 프로세스가 통신을 담당하는 방식이다.