공유할 서비스 선택

TECH


TECH

Middleware (weblogic 활용) Weblogic Coherence 설치하여 Session-Cluster 방법

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 1,564회 좋아요 0회 작성일 22-04-05 15:42

본문

안녕하세요.

"미들웨어" 입니다.

 

이번 장에서는 

 

이번 장에는 Weblogic Enterprise 에 기본적으로 구성되있는 Coherence 에 대해 설명해보겠습니다.

  • Weblogic 의 강력한 기능인 Coherence는 엔터프라이즈 버전부터 기본 구성이 되있습니다.
  • standalone, slime 모드는 별도 Coherence 설치를 진행해야 Coherence로 cache, session-cluster 을 사용 할 수 있습니다.

 

이번 11장은 Coherence 가 기본 탑제되있지 않은 경우 별도 설치하는 방법에 대해 진행하겠습니다.

 

Oracle Coherence 란?

Oracle Coherence는 조직이 자주 사용하는 데이터에 빠르고 안정적인 액세스를 제공함으로써 미션 크리티컬 애플리케이션을 예측 가능하게 확장할 수 있도록 합니다.
Oracle Coherence는 여러 서버에 걸쳐 메모리의 데이터를 자동으로 동적으로 분할함으로써 서버 장애가 발생한 경우에도 지속적인 데이터 가용성과 트랜잭션 무결성을 가능하게 합니다.
WebLogic Server에는 Coherence 클러스터 및 Coherence 기반 애플리케이션의 관리 및 배포를 단순화하는 Coherence 컨테이너가 포함되어 있습니다.

- Oracle Coherence Web 기능
  • 응용 프로그램의 수정 필요
  • Coherence 분산 캐시를 사용하여 HTTP 세션 처리
  • HTTP 세션 저장 용 캐시를 AP 서버와는 다른 JVM 구성
  • AP 서버의 부하 경감
  • HTTP 세션 메모리 상한의 향상
  • 다양한 AP 서버 지원
  • WebLogic / GlassFish / JBoss / Websphere etc
  • ASP.NET 세션 관리에 Session Provider를 제공

 

# Coherence를 이용한 세션 클러스터링

WebLogic Server Standard Edition와 Coherence Enterprise Edition에 포함된 Session Clustering 기능을 함께 사용하여,

서로 다른 도메인 간 또는 유동 IP 상황에서도 세션이 유실되지 않는 완벽한 고가용성 아키텍처를 구축할 수 있게 합니다

 

 

- Grid 형태의 세션 클러스터를 구성하여 여러 WAS 공유 (별도 코딩 불필요, 구성설정만으로 가능)

0e91193a1cd9a81f761d5097590f6532_1649140861_5089.png

 

 

 

- Coherence 를 활용한 session 방안

Coherence를 이용하여 애플리케이션의 수정 없이 Http Session을 여러 Cluster, Domain 간에 공유할 수 있습니다

이를 통해 WebLogic Server의 모든 인스턴스 장애 시에도 세션 정보고 유실되지 않고 보존 될 수 있으며세션 데이터를 WAS Layer와 분리함으로써 더욱 안정적인 WAS 메모리 사용이 가능해 집니다


0e91193a1cd9a81f761d5097590f6532_1649140862_5113.png
 

 

 

1. Coherence 메뉴얼 및 다운로드
- 메뉴얼

- 다운로드
- 다운로드 파일
0e91193a1cd9a81f761d5097590f6532_1649140910_3545.png



- 현제 버전
2021-10-25 현재 코히어런스 버전은 14.1.1 출시

- 3가지 설치 버전 (java, c++, Framework14)
Oracle Coherence for Java Version 14.1.1.0.0
Oracle Coherence for the Microsoft .NET Framework Version 14.1.1.0.0
Oracle Coherence for C++ Version 14.1.1.0.0

- 4가지 다운로드 모드
(1) WebLogic Server and Coherence Install
- Coherence가 포함된 전체 WebLogic Server 설치

(2) Coherence Stand-Alone Install
- 그래픽 모드 또는 자동 모드에서 실행할 수 있는 전체 Coherence 설치

(3) Coherence Quick Install
-  항상 자동 모드에서 실행되는 최소 Coherence 설치. 빠른 설치 프로그램은 더 작은 설치 공간을 제공하며 API 문서나 예제를 포함하지 않습니다.

(4) Coherence Quick Install Supplemental
- 항상 자동 모드에서 실행되는 추가 설치. 추가 설치 프로그램에는 API 설명서와 예제만 포함되어 있습니다



2. 설치 방법
2.1 coherence_version.jar파일을 대상 컴퓨터에 복사 합니다.

2.2 명령 프롬프트에서 디렉터리를 coherence_version.jar파일 위치로 변경 하고 다음 명령을 실행합니다( JAVA_HOME/bin컴퓨터의 에 있다고 가정) PATH).
java -jar fmw_14.1.1.0.0_coherence.jar

2.3 Oracle Coherence 설치 프로그램이 시작되고 시작 화면이 표시됩니다. UNIX 기반 플랫폼에서는 먼저(시작 화면 전에) Oracle 제품 인벤토리 데이터가 기록되는 인벤토리 디렉토리를 선택하라는 메시지가 표시됩니다. 화면의 지시에 따라 인벤토리 디렉토리를 생성합니다.

2.4 다음 을 클릭 합니다.
설치 위치 화면이 표시됩니다. 드롭다운 목록을 사용하여 ORACLE_HOMECoherence가 설치될 기존 디렉터리 를 선택 하거나 절대 경로를 입력하여 새 Coherence ORACLE_HOME디렉터리 를 생성합니다.
필요한 경우 찾아보기 를 클릭 하여 디렉토리를 검색합니다.

2.5 다음 을 클릭 합니다.
설치 유형 화면이 표시됩니다. 설치할 옵션을 선택합니다.

2.6 다음 을 클릭 합니다.
설치 요약 화면이 표시됩니다. 설치를 확인하십시오. 추가 컴퓨터에 이 설치를 복제하려면 응답 파일 저장을 클릭 하십시오 . 동일한 설치 설정으로 자동 설치를 수행하는 데 사용할 수 있는 응답 파일이 생성됩니다. 자동 설치 수행에 대한 자세한 내용은 "자동 모드에서 일관성 설치 수행"을 참조하십시오 .

2.7 설치 를 클릭 합니다 .
설치 진행률 화면에는 성공 및 실패한 모든 작업이 표시됩니다.

2.8 다음 을 클릭 합니다.
설치 완료 화면이 표시되고 설치 요약이 표시됩니다.

2.9 마침 을 클릭 하여 Oracle Coherence 설치 프로그램을 닫습니다.



3. 환경변수 및 경로
- JAVA_HOME
JAVA_HOME가 설정되지 않은 경우 스크립트는 컴퓨터의 기본 Java 설치를 사용합니다.

- COHERENCE_HOME
변수의 값은 ORACLE_HOME/coherence디렉토리 의 전체 경로 입니다.

- /coherence/bin
디렉토리에는 개발 및 테스트 중에 사용되는 스크립트가 포함되어 있으며 디자인 타임의 편의를 위해 제공됩니다
[weblogic@weblogic-test coherence]$ cd bin
-rwxr-x---. 1 weblogic weblogic 1071 Nov 21  2019 cache-server.sh
-rwxr-x---. 1 weblogic weblogic 1398 Nov 21  2019 coherence.sh
-rwxr-x---. 1 weblogic weblogic  808 Nov 21  2019 datagram-test.sh
-rwxr-x---. 1 weblogic weblogic  811 Nov 21  2019 multicast-test.sh
-rwxr-x---. 1 weblogic weblogic 1130 Nov 21  2019 pof-config-gen.sh
-rwxr-x---. 1 weblogic weblogic 1289 Nov 21  2019 query.sh
-rw-r-----. 1 weblogic weblogic  222 Nov 21  2019 readme.txt



4. 실행 방법
cache-server스크립트는 기본 구성을 사용하여 캐시 서버를 시작합니다.
coherence스크립트는 기본 구성을 사용하여 캐시 팩토리 인스턴스를 시작합니다.
캐시 팩토리 인스턴스에는 (무엇보다도) 캐시를 생성하고 캐시와 상호 작용하는 데 사용되는 명령줄 도구가 포함되어 있습니다

 

- 기본 클러스터 생성
3개의 개별 Java 프로세스(캐시 서버 및 2개의 캐시 팩토리 인스턴스)를 포함하는 기본 클러스터가 작성됩니다.
  • 세 개의 프로세스가 단일 컴퓨터에 배치됩니다.
  • 캐시 서버는 기본적으로 백업 데이터를 저장하도록 구성됩니다.
  • 기본적으로 두 개의 캐시 팩토리 인스턴스는 백업 데이터를 저장하지 않도록 구성됩니다.
  • 각 프로세스가 시작되면 자동으로 참여하여 클러스터 구성원이 됩니다
  (클러스터 노드라고도 함)

 

 

 

5. 캐시서버 실행
cache-server.sh 스크립트 실행

-로그
Services
  (
  ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, OldestMemberId=1}
  TransportService{Name=TransportService, State=(SERVICE_STARTED), Id=1, OldestMemberId=1}
  InvocationService{Name=Management, State=(SERVICE_STARTED), Id=2, OldestMemberId=1}
  PartitionedCache{Name=PartitionedCache, State=(SERVICE_STARTED), Id=3, OldestMemberId=1, LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0, CoordinatorId=1}
  PartitionedCache{Name=PartitionedTopic, State=(SERVICE_STARTED), Id=4, OldestMemberId=1, LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0, CoordinatorId=1}
  ProxyService{Name=Proxy, State=(SERVICE_STARTED), Id=5, OldestMemberId=1}
  )
Started DefaultCacheServer...

 

 

 

6. 캐시 팩토리 인스턴스 실행
coherence.sh 스크립트 실행 (클러스터 생성을 위해.. )
  • coherence스크립트 의 2개 인스턴스를 실행합니다.
  • 각 인스턴스가 시작되면 각 클러스터 구성원에 대한 정보를 제공하는 출력이 생성됩니다.
  • 각 인스턴스는 명령줄 도구에 대한 명령 프롬프트를 반환합니다.

- 로그
2021-10-25 11:53:02.691/2.267 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=5): Service Management joined the cluster with senior service member 1
2021-10-25 11:53:02.694/233.678 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=1): Member 5 joined Service Management with senior member 1
2021-10-25 11:53:02.743/2.320 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=5): Loaded Reporter configuration from "jar:file:/home/weblogic/Oracle/Middleware/Oracle_Home/coherence/lib/coherence.jar!/reports/report-group.xml"

Map (?):


7. 캐시생성
첫 번째 캐시 팩토리 인스턴스의 명령줄 도구를 사용하여 간단한 문자열을 캐시에 입력합니다. 그런 다음 두 번째 캐시 팩토리 인스턴스의 명령줄 도구를 사용하여 캐시에서 문자열을 검색합니다.
이 예제는 단순하고 그다지 실용적이지 않지만 Coherence 캐시의 분산 특성을 빠르게 보여줍니다.

- Test사용하여 이름이 지정된 캐시를 만듭니다.
cache test

- put key1 입력
Map (test): put key1 hello
null

[설명]
명령은 를 반환하고 표시합니다 null.
이 put명령은 항상 주어진 키에 대한 이전 값을 반환합니다.
null값이 키에 입력 한 첫 번째 값이기 때문에 값이 반환됩니다.

- get key1
Map (test): get key1
hello

[설명]
명령은 를 반환하고 표시합니다 hello.
캐시 팩토리 프로세스는 프로세스가 동일한 클러스터의 일부이고 Test캐시가 모든 클러스터 구성원에게 알려져 있기 때문에 캐시 항목을 추가하거나 제거할 수 있습니다 . 또한 캐시 서버가 캐시 데이터의 백업을 저장하고 있기 때문에 캐시 팩토리 프로세스 중 하나(또는 둘 다)가 종료되고 캐시 데이터가 유지될 수 있습니다.

 

 

 

8. 캐시서버 시작
캐시 서버는 일반적으로 명령줄에서 시작됩니다.
Java -cp옵션을 사용하여 coherence.jar파일의 위치 tangosol-coherence-override.xml와 및 coherence-cache-config.xml파일이 있는 위치를 표시합니다.
구성 파일의 위치 coherence.jar는 클래스 경로 의 파일 보다 우선해야 합니다.
그렇지 않으면 파일에 있는 기본 구성 파일을 coherence.jar사용하여 캐시 서버 인스턴스를 시작합니다

다음 예는 캐시 서버 구성원을 시작하고 COHERENCE_HOME\config디렉토리 에 있는 구성 파일을 사용 하며 2초마다 서비스가 다시 시작되는지 확인합니다.

ex)

java -server -Xms512m -Xmx512m -cp COHERENCE_HOME\config;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer 2 

 

다음 예는 캐시 서버 구성원을 시작하고 MyGar.gar파일에 패키지된 Coherence 애플리케이션 아티팩트를 사용 합니다. 기본 이름( MyGAR)은 응용 프로그램 이름으로 사용됩니다.
ex)
java -server -Xms512m -Xmx512m -cp COHERENCE_HOME\config;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer D:\example\MyGAR.gar



9. 퓨전미들웨어 코히어런스 화면
0e91193a1cd9a81f761d5097590f6532_1649140935_1516.png


- 코히어런스 관리구성 화면
0e91193a1cd9a81f761d5097590f6532_1649140952_6291.png

그럼... 열공하세요~ 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH - 좋아요글 총 건전체보기 >

  • 게시물이 없습니다.
TECH - 좋아요글 더보기
TECH 목록
번호 제목 작성자 작성일 조회수
104 Middleware 미들웨어 아이디로 검색 전체게시물 04-08 37
(오픈소스 활용-28) Java Flight Recorder 이란? Java 모니터링을 구현가능

카테고리 : Middleware

37 0
작성자 : 미들웨어 24/04/08
103 Middleware 미들웨어 아이디로 검색 전체게시물 03-21 94
(오픈소스 활용-27) Redis Cache 란? 활용방법과 다운로드

카테고리 : Middleware

94 0
작성자 : 미들웨어 24/03/21
102 Middleware 미들웨어 아이디로 검색 전체게시물 03-07 136
(weblogic 활용) WebLogic Kubernetes Toolkit-UI (무료) 설치 및 구성가이드

카테고리 : Middleware

136 0
작성자 : 미들웨어 24/03/07
101 Middleware 미들웨어 아이디로 검색 전체게시물 02-20 327
(AI-2) Chat-GPT 4All - 허깅페이스 & LLM 국내 인기순위 (Open Ko-LLM LeaderBoard)

카테고리 : Middleware

327 0
작성자 : 미들웨어 24/02/20
100 Middleware 미들웨어 아이디로 검색 전체게시물 02-06 359
(AI-1) Chat-GPT 4All - PC 설치 방법

카테고리 : Middleware

359 0
작성자 : 미들웨어 24/02/06
99 Middleware 미들웨어 아이디로 검색 전체게시물 01-19 192
(오픈소스 활용-26) scouter 2.22 에서 Weblogic14 모니터링 등록 중 이슈 조치방법

카테고리 : Middleware

192 0
작성자 : 미들웨어 24/01/19
98 Middleware 미들웨어 아이디로 검색 전체게시물 01-06 288
(오픈소스 활용-25) scouter 2.22 에서 JEUS8 모니터링 등록 하는 방법

카테고리 : Middleware

288 0
작성자 : 미들웨어 24/01/06
97 Middleware 미들웨어 아이디로 검색 전체게시물 12-22 263
(오픈소스 활용-24) 리눅스 java, python 우선순위 설정방법 - (update-alternatives 명령어)

카테고리 : Middleware

263 0
작성자 : 미들웨어 23/12/22
96 Middleware 미들웨어 아이디로 검색 전체게시물 12-07 493
(Apache) Apache 2.4.37 & Weblogic-14 연동방법 (mod_wl_24.so 활용)

카테고리 : Middleware

493 0
작성자 : 미들웨어 23/12/07
95 Middleware 미들웨어 아이디로 검색 전체게시물 11-23 856
(Tmax) JEUS 21 다운로드 및 Master 설치 및 기동해보기

카테고리 : Middleware

856 0
작성자 : 미들웨어 23/11/23
Total 104건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top