55분 전
0
조회 5
1시간 전
0
조회 8
26.09.29
0
조회 211
26.09.26
1
조회 166
26.09.24
0
조회 198
26.09.23
0
조회 199
26.09.19
0
조회 517
26.09.11
0
조회 154
26.09.10
0
조회 153
26.09.10
0
조회 152
26.09.10
0
조회 121
26.09.10
0
조회 104
26.09.09
1
조회 107
26.09.04
0
조회 507
26.09.03
0
조회 343
26.09.01
1
조회 141
26.08.29
0
조회 185
26.08.22
0
조회 299
26.08.20
0
조회 329
26.08.13
0
조회 320
댓글 3
DB를 마스터/슬레이브로 나눠서 쓰는 건 이미 XE도 지원합니다. db.config.php를 수정하면 돼요. 단, 완벽하게 세팅하기가 쉽지 않으므로 둘 중 하나만 다운되거나 렉이 걸려도 둘 다 못쓰게 되는 경우가 비일비재합니다.
문제는 웹서버예요. 여러 대의 서버를 쓰려면 서로 파일이 동기화되도록 하는 것이 중요한데요... (한쪽에 파일을 업로드하면 다음에 다른 서버에 접속하더라도 그 파일을 다운받을 수 있어야 하지요) XE는 캐시파일이 실시간으로 업데이트되어야 하기 때문에 흔히 사용하는 5분 간격 동기화 같은 건 안 통합니다. 그렇다고 NFS로 공유하면 성능이 심각하게 떨어지고요. DRBD는 좀 나으려나... 아무튼 여러 대의 서버를 효율적으로 사용하려면 프로그램 자체를 거기에 맞게 설계해야 합니다. 평소 쓰던 프로그램을 그냥 얹어놓으면 포인트가 꼬이는 등 여러가지 문제가 생겨요.
아무튼 이래저래 귀찮습니다. 서버 한 대로 감당이 안 될 만큼 사이트 규모가 크고, 여러 대의 서버를 꾸준히 관리해줄 전문인력이 없다면 절대 권장하지 않습니다. 그렇지 않으면 해킹당할 위험도 서버수에 비례해서 늘어나기만 하지, 절대 더 안전해지지 않아요.
게다가 요즘은 서버 사양이 워낙 좋아져서 동접수 1만 명도 웹서버 한 대, DB서버 한 대로 충분히 감당이 됩니다 ㅎㅎ 32코어짜리 서버 써보셨나요? 64코어는 어떠세요?
말씀하시는건 로드 밸런서를 두고 로드 밸런서 설정을 라운드 로빈으로 하는 경우인데요...
이 경우 문제가 되는건 세션입니다. 세션이 서버쪽에 저장이 되면 안되죠.. 이경우 해결 방법은 2가지인데 세션 정보를 모조리 쿠키에 때려박거나 (암호화해서 저장) 아니면 별도의 세션 서버를 마련하는겁니다. 아마 XE도 세션을 DB에 저장할 수 있는걸로 아는데 그걸 쓰면 라운드 로빈이 되지 않을까 싶습니다. 아니면 별도의 memcache 서버에 세션을 저장하는게 가장 좋겠지요.