포럼
멀티도메인 관련한 실험들, 그리고 의견을 구해봅니다ㅜ
2015.02.05 12:24
실험을 몇가지 해보았어요
첫 번째 실험.
N개의 XE를 하나의 DB에 접두사를 '같게'하여 바라보게한다.
-> 레이아웃, 사이트맵, 회원DB, 컨텐츠 등 전부 통합되어있었다.
그런데 이거 초보자 입장에서, 안정성이 괜찮을지 걱정이 되어 섣불리 사용하기가 어렵다.
두 번째 실험.
N개의 XE를 하나의 DB에 접두사를 '다르게'하여 바라보게한다.
그 다음 접두사가 다른 member 테이블 N개를 다음의 쿼리로 통합한다.
Create Table total_member
Select * From xe_member Union
Select * From xe2_member
댓글 12
-
DingGGu
2015.02.05 12:40
-
이즈야
2015.02.05 13:23
본문에 시도해봤다고 적혀 있어요. -
초보개발자시작
2015.02.05 13:37
이즈야 선생님의 다음 말씀대로, classes를 열심히 뜯어보고 있어요!
"DB 접근은 항상 DB 클래스를 통해 합니다. 따라서 쿼리를 요청하는 순간에 member 테이블 prefix만 바꿔준다라고 바꿔주면... 될 듯해요. classes 폴더를 잘 찾아보세요. "
-
초보개발자시작
2015.02.05 13:35
멀티도메인의 경우 혹시 다음과 같이 만들어 주는건 불가능하지 않나요?
가상 호스트로, [ www ] 자리만 계속 바꿔서 하는 방법 밖에 없어보여서요
즉 - 도메인 개수 > 모듈 개수일때는 사용 가능한 방법이지만, 도메인 개수 < 모듈 개수일 때는 사용 불가능한 방법이 아닌가 싶어서요.
www.abc.com -> A모듈
www.abc.com/XXX -> B모듈
www.def.com -> C모듈
www.def.com/XXX -> D모듈
-
YJSoft
2015.02.05 16:21
member 모듈만 공유해서는 오류가 발생할 수 있습니다.
XE는 통합 sequence를 사용합니다. 즉 회원 번호, 게시글 번호 등 번호로 발급되는 것은 sequence로 관리됩니다.
만일 A 사이트와 B 사이트를 하나의 member 모듈로 묶는다면 A사이트에서 회원 가입으로 번호 40이 부여되었는데, B사이트에서도 번호 40이 부여되는 일이 생길 수 있습니다. 이경우 통합시 문제가 생길수 있죠(동일 srl로 회원이 두명이 될 수 있음)
간단히 생각할 수 있는 문제는 아닌 것 같습니다.
-
GG
2015.02.05 16:24
어짜피 시퀀스는 같은 디비 사용이니깐 큰 문제 없지 않을까요?
중복은 일어나지 않을 것 같습니다.
저는 사이트URL 빼고는 문제 없을것 같다는 생각입니다.
-
YJSoft
2015.02.05 19:40
같은 DB를 사용하기에 문제가 되죠
회원 모듈만 시퀀스를 쓴다면 모를까 게시판에서도 사용하니까 A 사이트와 B사이트의 시퀀스 테이블이 서로 차이가 나는 상황이 생기게 되겠죠.
실제로 member 모듈만 연동한 XE에서 실험 결과 한쪽에서 가입후 다른 쪽에서 가입시 시퀀스 중복 문제로 가입이 안됩니다.
이를 해결하려면 getNextSequence 함수를 수정해서 prefix를 없앤 뒤, 실제 DB에서도 prefix를 없애 줘야 합니다.
-
이즈야
2015.02.05 22:25
시퀀스 테이블도 통합해주면 되지 않나요? -
YJSoft
2015.02.05 22:29
넵.
시퀀스 테이블은 각 DB 클래스의 getNextSequence 함수만 손봐주면 되는것 같네요.
-
GG
2015.02.05 16:26
그것보다 files 디렉토리도 심링크로 연동해야 된다고 봅니다.
그러면 config도 문제가 생길 수 있겠네요.
-
YJSoft
2015.02.05 22:33
member_extra_info 폴더를 제외한 나머지는 회원 모듈과 관련없는 파일이거나 캐시 파일이기에 member_extra_info 폴더만 연동해둬도 되는것 같네요.
-
YJSoft
2015.02.05 19:55
일단 성공한것 같네요.
http://xe1.yjsoft.info/
http://xe2.yjsoft.info/
두 XE가 한 회원정보 테이블을 사용합니다.(한쪽만 가입해도 양쪽 로그인 가능)
member 테이블과 sequence 테이블을 통합했으며 files 폴더 중 member_extra_info 폴더를 심볼릭 링크로 연결해둔 상태입니다.
자료실에서 검색해보세요~