hashtag
205
2019-02-11 18:16:23 작성 2019-02-11 18:26:48 수정됨
8
389

이중화서버 파일 업로드 문제


이중화가되어있는데 나스가없어서 was 한쪽만 올라갑니다

그래서 양쪽을 동기화해야되는데 가장 간단한 방법이 뭘까요?

was 1번에 붙었을때 1번인걸 체크할수있으면 1번에 업로드하고 2번에 ftp로 쏘려고하는데 이게 가능한가요?


참조할만한곳 없을까욛

0
0
  • 답변 8

  • 나도아빠다
    2k
    2019-02-11 19:07:29

    저같은 경우 초급때 그상황에서 파일 업로드시 다른서버로 ftp로 쏘도록 했었습니다...

    서버 배열 프로퍼티 저장해두고 request.getLocalAddr을 제외한 다른 서버들로 업로드하도록..

    이때 파일명 중첩문제로 파일명에 서버1,2,3도 같이 붙여줘야했지요..


    뭔가 더 좋은 방법있으면 좋겠습니다.

    0
  • 늅늅
    543
    2019-02-11 20:23:02 작성 2019-02-11 20:24:03 수정됨

    1. NFS (느림)

    2. 리눅스 rsync 로 처리


    두가지 방법다 프로그램 소스 변경 없이 OS단에서 처리 했었습니다.

    그럭저럭 쓸만 했어요~

    0
  • hashtag
    205
    2019-02-11 21:14:25

    나도아빠다

    제가 딱 초급인데 같은 상황이네요 ㅎㅎ

    혹시 사용하신 방법이 1번 서버에서는 2번으로 ftp쏘고 2번에서는  1번으로 ftp쏘고 하신건가요 ?

    서버 배열을 저장해서 request.getLocalAddr이 무슨말인지 조금 이해가 가지 않네요 자세한 설명좀 부탁 드려도 될까요 ㅠㅠ

    늅늅

    두가지 방법 검색으로 찾았었는데요 인프라쪽은 담당자 분이 따로 계셔서 프로그램수정에서 웬만하면 처리해 보려고 합니다 ㅎ 감사합니다!!


    차오주

    그것도 방법이 될 수 있겠네요 ㅎ

    이미 테이블이나 로직들이 구현을 다 해놓은 상태라 차선책으로 생각해봐야겠어요!!

    감사합니다


    0
  • 나도아빠다
    2k
    2019-02-11 21:34:35 작성 2019-02-11 21:39:57 수정됨

    초급다운 무식한 발상이었습니다.. ㅎㅎ

    그리고 철지난 옛날방법입니다. ;)


    프로퍼티는 서버마다 동일하게 배포된다는거에서 착안해서,

    1. 서버 아이피가 1.1.1.1, 1.1.1.2, 1.1.1.3 3대가 있고

    2. 각 서버의 배포 위치는 FTP로 접근가능

    이라는 조건이라면,(그시절에는 소스 반영을 FTP로 엎어쓰던 시절이라 별 문제없었음)


    file.target.server=1.1.1.1,1.1.1.2,1.1.1.3 이런식으로 업로드되야할 전체 서버의 아이피를 ,로 묶은 프로퍼티를 추가하고(모든서버에 배포..)

    1. 파일 업로드시 일단 자기 서버위치에 업로드. 업로드시 파일명에는 시간+ 배열의 서버인덱스(0,1,2).확장자 로 생성

    2. Property 객체로 해당 프로퍼티 파일을 읽어서 ,로 스플릿 해서 배열로 만듬

    3. 서블릿에서 request.getLocalAddr()로 현재 업로드된 서버의 IP를 가져옴

    4. 배열에서 3번의 현재 로컬IP를 제외한 나머지 서버의 이미지 파일 경로로 for문 돌려 FTP전송

    5. ...

    6. profit

    이라는 순서로 처리했지요 ;)


    초급의 막나가는 아이디어..ㅎㅎ

    근데 지금 가물가물한게 localAddr을 썼는지 프로퍼티로 자기 IP따로 설정했는지 기억이 잘 안나네요.

    localAddr이 0.0.0.0으로 나와서 프로퍼티에 서버별로 아이피 넣은거같기도 하고

    그때는 기껏해야 프레임웍이라곤 struts1이 위주고 2가 막 나오던 시절로 기억하는데.. 추억이네요 ;)

    0
  • hashtag
    205
    2019-02-11 23:00:55

    나도아빠다

    이렇게 설명해주셔도 100%이해가 되진 않지만 뭔가 실마리가 풀리는거 같네요 ㅎㅎ

    일단 이중화되있는 서버중에 현재 접속중인 서버가 was1번인지 2번인지 확인할 수 있고

    ftp연결만 된다면 뭔가 해결될거 같아요 ㅎㅎ

    내일 출근해서 해봐야겠네요!! 감사합니다


    0
  • 램그로프
    295
    2019-02-12 01:38:54

    질문에 질문을 던져서 죄송한데요 공유 스토리지(a.k.a. NAS)를 쓰지 않는 이유가 뭘까요?

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.