티스토리 뷰
본 포스팅은 WebtoB LBServer 활용 가이드입니다.
일반적인 CLUSTER 환경 시 WEBTOB 2대, JEUS 2대 기본 구성의 환경이 많이 존재 한다. WEBTOB와 JEUS로 연동 시 JEUS에서 WEBTOB로 붙는 Reverse Connection 방식을 사용하게 된다. 정상 구성 후엔 webtob에서 자신과 연결되어 있는 servlet 엔진으로 RR 혹은 FA 형식으로 요청을 넘겨주게 되는데, 추가 요건으로 장애 시 가 아닌 경우엔 Local에 있는 Servlet으로만 요청을 처리하도록 활용 하는 내용입니다.
Linux 서버 64bit
WEBTOB 4.1.5.3 Linux(LBSServers 기능은 WEBTOB 4.1.5.X 에서 제공됩니다.)
JEUS 6 버전 Linux , aix
*DOMAIN
jeuservice
*NODE
infrasvr
WEBTOBDIR = "$WEBTOBDIR",
SHMKEY = 254000,
DOCROOT = "$WEBTOBDIR/docs",
PORT = "2424", #SERVICE PORT 내용
NODENAME = "$(NODENAME)",
LOGGING = "log1",
ERRORLOG = "log2",
SYSLOG = "log3",
IPCPERM = 0777,
JSVPORT = 9900,
HTH = 1
*SVRGROUP
htmlg SVRTYPE = HTML
jsvg SVRTYPE = JSV, LBServers = "MyGroup,MyGroup2", LBType = Dynamic, LBBackup = "MyGroupBACK"
*SERVER
html SVGNAME = htmlg, MinProc = 10, MaxProc = 20, ASQCount = 5
MyGroup SVGNAME = jsvg, MinProc = 10, MaxProc = 10, ASQCount = 5
MyGroup2 SVGNAME = jsvg, MinProc = 10, MaxProc = 10, ASQCount = 5
MyGroupBACK SVGNAME = jsvg, MinProc = 10, MaxProc = 10, ASQCount = 5
*URI
uri1 Uri = "/", Svrtype = JSV
*LOGGING
log1 Format = "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"", FileName = "$WEBTOBDIR/log/access_%Y%%M%%D%.log", Option = "sync"
log2 Format = "ERROR", FileName = "$WEBTOBDIR/log/error_%Y%%M%%D%.log", Option = "sync"
log3 Format = "SYSLOG", FileName = "$WEBTOBDIR/log/system_%Y%%M%%D%.log", Option = "sync"
*EXT
htm MimeType = "text/html", SvrType = HTML
jsp Mimetype = "application/jsp", Svrtype=JSV
<?xml version="1.0"?>
<web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
<context-group>
<group-name>MyGroup</group-name>
<webserver-connection>
<webtob-listener>
<listener-id>webtob1</listener-id>
<port>9900</port>
<output-buffer-size>8192</output-buffer-size>
<thread-pool>
<min>10</min>
<max>10</max>
<step>1</step>
<max-idle-time>30000</max-idle-time>
</thread-pool>
<webtob-address>192.168.71.32</webtob-address>
<registration-id>MyGroup</registration-id> // container2 는 MyGroup2
<disable-pipe>true</disable-pipe>
</webtob-listener>
</webserver-connection>
. . . 생략 . . .
</context-group>
</web-container>
<?xml version="1.0"?>
<web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
<context-group>
<group-name>MyGroup</group-name>
<webserver-connection>
<webtob-listener>
<listener-id>webtob1</listener-id>
<port>9900</port>
<output-buffer-size>8192</output-buffer-size>
<thread-pool>
<min>10</min>
<max>10</max>
<step>1</step>
<max-idle-time>30000</max-idle-time>
</thread-pool>
<webtob-address>192.168.71.32</webtob-address>
<registration-id>MyGroupBACK</registration-id>
<disable-pipe>true</disable-pipe>
</webtob-listener>
</webserver-connection>
. . . 생략 . . .
</context-group>
</web-container>
ServerGroup절
LBServers : 서버들 사이에 부하 분산을 설정하고자 할 경우 원하는 서버의 목록을 설정한다
LBType : LBServers를 설정한 경우 서버들 간의 부하를 분배하는 방법을 설정한다.
- Dynamic : 기본적으로 Round-Robin으로 분배하지만, 서버 큐에 대기 중인 요청의 수가 해당 서버의 현재 서버 프로세스 수 이상인 경우는 제외하고 분배한다. 만약 모든 서버의 서버 큐에 요청이 쌓여 있는 경우에는 다시 Round-Robin으로 분배한다.
- Static : Server 절의 LBFactor에 비례하여 서버가 요청을 처리하도록 분배한다.
LBBackup: LBServers로 설정한 서버들이 모두 READY 상태가 아닐 경우 백업 용도로 사용할 서버를 설정한다.
SERVER절 (여기서 LBType이 Static인 내용은 매뉴얼 참고)
LBFactor: SVRGROUP 절에 LBServers로 설정된 서버에 한하여 LBType이 Static인 경우 요청을 어떤 비율로 처리할지 설정한다
SvgName = jsvg,
MinProc = 1,
MAXProc = 10,
LBFactor = 10
jsv2
SvgName = jsvg,
MinProc = 1,
MAXProc = 10
LBFactor = 5
jsv3
SvgName = jsvg,
MinProc = 1,
MAXProc = 10
LBFactor = 1
jsv4
SvgName = jsvg,
MinProc = 1,
MAXProc = 10
브라우져를 새로 열어 호출 하는 테스트를 진행했을 때, MyGroup, MyGroup2로 RR방식으로 던진다(default)
wsadmin -> si
$$1 infrasvr (wsadm) [2014/11/08:10:12:35]: si
--------------------------------------------------------------------------------
hth svrname (svri) status count cqcnt aqcnt qpcnt emcnt rscnt rbcnt
--------------------------------------------------------------------------------
0 html ( 0) RDY 0 0 0 0 0 0 0
0 MyGroup ( 1) RDY 18 0 0 0 0 0 0
0 MyGroup2 ( 2) RDY 7 0 0 0 0 0 0
0 MyGroupBACK ( 3) RDY 0 0 0 0 0 0 0
$$2 infrasvr (wsadm) [2014/11/08:10:12:35]:
Webtob Accesslog format 변경 후 확인
Format = "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"",
192.168.70.78 - - [08/Nov/2014:10:05:25 +0900] "GET /test.jsp HTTP/1.1" 200 31 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident /7.0; rv:11.0) like Gecko" "JSESSIONID=fTp1nykjjyji3pLgjKYNS0L5cHX4z7r0ydPZzdhd4WdyfRMpqFpYqZuewIfYQJj3.infrasvr_servlet_engine1"
192.168.70.78 - - [08/Nov/2014:10:05:49 +0900] "GET /favicon.ico HTTP/1.1" 404 1661 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" "__smVisitorID=NVfUrqvDm0x; JSESSIONID=Wcfa17TYlLTf8Kp2WtGizN17wXBDKZoyyUZwYcgs5Xa9LLXZq6QKHj1S66mh5Ffe.infrasvr_servlet_engine2"
192.168.70.78 - - [08/Nov/2014:10:11:52 +0900] "GET /test.jsp HTTP/1.1" 200 31 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko" "JSESSIONID=X1JJ3f1Cm2ysFjnbLfqfk4NUTaacSqEayrFDobtdwNQu3DeOq8RYe4vEGklEG6lm.infrasvr_servlet_engine1"
--- Welcome to WebtoB Admin (Type "quit" to leave) ---
$$1 infrasvr (wsadm) [2014/11/08:10:15:29]: si
--------------------------------------------------------------------------------
hth svrname (svri) status count cqcnt aqcnt qpcnt emcnt rscnt rbcnt
--------------------------------------------------------------------------------
0 html ( 0) RDY 0 0 0 0 0 0 0
0 MyGroup ( 1) NRDY 18 0 0 0 0 0 0
0 MyGroup2 ( 2) NRDY 7 0 0 0 0 0 0
0 MyGroupBACK ( 3) RDY 0 0 0 0 0 0 0
LBServer 설정을 통해 원하던 구성으로 서비스 되도록 할 수 있음을 확인 할 수 있습니다.
'④ 미들웨어 > ⓦ WebtoB' 카테고리의 다른 글
[WebtoB] ServiceOrder에 따른 ERRORDOCUMENT절 설정 (0) | 2018.08.16 |
---|---|
[WebtoB] SSL 접속 테스트 (0) | 2018.08.12 |
[WebtoB] GotoEXT 설정 옵션 및 Regular Expression에 대한 활용 (0) | 2018.08.11 |
[WebtoB] PHP 설치 및 연동 가이드 (0) | 2018.08.09 |
[WEBTOB] 로그 설정가이드 (로그레벨, TraceLog, AccessLog) (0) | 2018.08.07 |
- Total
- Today
- Yesterday
- node.js
- Da
- 오픈스택
- apache
- nodejs
- OpenStack
- JEUS7
- wildfly
- Docker
- Architecture
- API Gateway
- webtob
- MSA
- 쿠버네티스
- TA
- openstack tenant
- aa
- kubernetes
- openstack token issue
- 아키텍처
- aws
- jeus
- SWA
- 마이크로서비스
- git
- JEUS6
- 마이크로서비스 아키텍처
- JBoss
- SA
- k8s
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |