Oracle Fusion Middleware/Coherence

1장. Coherence 소개 및 설치 준비

수상한 김토끼 2022. 5. 9. 15:31

안녕하세요.

'수상한 김토끼' 입니다.

 

Oracle의 in-memory 캐시 솔루션인 Coherence를 소개하고 설치 준비까지 진행해 보겠습니다.

 

이 블로그 글은 미들웨어 경험이 없으신 분들도 쉽게 따라 하실 수 있도록 쉽게 작성하는 것이 목표입니다.

설명을 보고 진행하시다가 궁금하신 내용은 댓글로 문의하시면 가능한 범위 내에서 알려 드리도록 하겠습니다.


1. Coherence 소개

오라클 코히어런스(Oracle Coherence)는 자바 기반의 데이터 그리드 제품으로서, 데이터 캐싱, 데이터 복제,

분산 컴퓨팅 서비스를 제공한다.

코히어런스는 backing map을 사용하여 데이터베이스 이외의 스토리지에서도 안정적인 서비스를 제공할 수 있게 한다.

자바로 구현되어 있지만, 코히어런스*엑스텐드 콤포넌트를 통해서 .NET이나 C++과의 접속도 가능하다.

코히어런스 사용 패턴 중 일부는 오픈 소스이며, 오라클 코히어런스 인큐베이터를 통해 게재 및 지원되고 있다.

이러한 패턴에는 코히어런스로 WAN를 걸친 메시지 송수신, 작업 분산, 데이터 복제 기능 등이 있다.

코히어런스 제품은 본래 탱고솔(Tangosol)사가 개발하였는데, 2007년 4월에 오라클이 그 회사를 매입하였다.

현재는 오라클 퓨전 미들웨어의 컴포넌트 중 하나로 제공되고 있다.

 

출처 : 위키피디아https://ko.wikipedia.org/wiki/%EC%98%A4%EB%9D%BC%ED%81%B4_%EC%BD%94%ED%9E%88%EC%96%B4%EB%9F%B0%EC%8A%A4

 

오라클 코히어런스 - 위키백과, 우리 모두의 백과사전

오라클 코히어런스(Oracle Coherence)는 자바 기반의 데이터 그리드 제품으로서, 데이터 캐싱, 데이터 복제, 분산 컴퓨팅 서비스를 제공한다. 코히어런스는 backing map을 사용하여 데이터베이스 이외의

ko.wikipedia.org

 

라고 위키피디아에 설명되어 있습니다. 한마디로 정리하자면 인 메모리(in-memory) 분산 데이터 그리드 솔루션

이라고 정의할 수 있으며, 주요 사용목적은 애플리케이션에서 사용빈도가 높은 데이터에 대해서 빠른 응답과 더불어

높은 신뢰도를 갖는 접근 방법을 제공하여 확장을 용이하게 하는 제품입니다.

웹로직을 포함해 IBM 웹스피어, 아파치 톰캣, 제이보스 등 다양한 자바 기반의 WAS와 퓨어 자바, C++,

. NET 애플리케이션에도 사용이 가능합니다.


2. Coherence의 2가지 기능

코히어런스는 그리드 형태의 서비스 아키텍처를 구현할 수 있는 솔루션입니다.

 

코히어런스는 크게 두 가지 기능을 수행하게 되는데 첫 번째 기능은 세션 그리드 서비스로서 웹로직에서 관리되는

HTTP 세션을 별도로 관리되는 JVM Process로 구현하여 그리드 형태의 클러스터를 생성해 줍니다.

이러한 구조는 웹로직 서버에서 관리되는 세션을 코히어런스가 관리함으로써 웹로직 힙 메모리의 확보와

이기종 WAS 간의 세션 공유를 가능하게 해 줍니다.

 

두 번째 기능은 데이터 그리드 서비스로 DB의 데이터를 인메모리 그리드 형태의 캐시에서 접근이 가능하도록

만들어 줍니다. 이를 통해 해당 그리드 서비스를 이용하는 다양한 클라이언트들은 공유된 데이터를 사용할 수 있어

분산 환경에서도 동일한 성능과 데이터 공유를 할 수 있게 됩니다.

 

이를 통해 이기종 WAS들 간의 데이터 공유(e.g. 세션, 기준정보)를 통한 서비스 확장 및 DB캐시 등의 용도로

가용성을 확보할 수 있는 유용한 미들웨어 솔루션이라고 설명드릴 수 있겠습니다.


3. 설치 준비

만약 현재 웹로직이 설치되어 있다면 코히어런스도 이미 설치되어 있기 때문에 별도의 설치는 필요 없습니다.

다만 웹로직과 별개로 사용하거나 이기종 WAS에서 사용하려는 경우에는 별도의 설치 과정을 필요로 하며

설치 전 준비 항목은 다음과 같습니다.


3.1 JDK

코히어런스 설치를 위해서는 오라클 JDK가 필요합니다. 

다음과 같은 단계를 통해 사용 환경에 맞는 오라클 JDK를 다운로드 후 환경설정을 진행해 줍니다.

오라클 JDK 다운로드 https://www.oracle.com/java/technologies/downloads/

제가 테스트하는 환경은 64bit Cent OS 8 버전입니다.

1
2
[coherence@coherence ~]$ uname -an
Linux coherence 4.18.0-383.el8.x86_64 #1 SMP Wed Apr 20 15:38:08 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
cs

JDK는 Oracle JDK 1.8.0_321 버전을 다운로드하여 압축을 풀어 JDK를 구성하였습니다.

1
2
3
4
[coherence@coherence ~]$ java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
cs

3.2 코히어런스 

2022년 5월 현재 코히어런스 최신버전은 14.1.1.0.0 이며 다음과 같이 4개의 다운로드 형태를 지원합니다.

오라클 코히어런스 다운로드 : https://www.oracle.com/middleware/technologies/coherence-downloads.html

코히어런스 다운로드 페이지

웹로직과 별개로 구성하기 위해 coherence Stand-Alone Install 항목을 선택하여

fmw_14.1.1.0.0_coherence.jar 파일을 다운로드해 줍니다.

1
2
3
4
[coherence@coherence downloads]$ ls -l
total 270872
-rw-rw-r--1 coherence coherence 130552952 May 10 10:52 fmw_14.1.1.0.0_coherence.jar
-rw-rw-r--1 coherence coherence 146815279 May 10 10:53 jdk-8u321-linux-x64.tar.gz
cs

JDK와 코히어런스 jar 파일까지 준비되면 설치준비는 마무리 되며, 코히어런스를 설치할 수 있습니다.


이번장은 여기서 마무리 짓고 다음 장에서 코히어런스 설치 및 JVM 시작까지 진행해 보도록 하겠습니다.