CAFE

자유 게시판

지금 렙따가 왜 발생하는 지 알랴줌

작성자만쥬|작성시간19.10.11|조회수702 목록 댓글 13

일단 중소기업이든 대기업이든 다수를 상대로 서버 1대로 서비스하는 미친 기업은 없음. DB한번 날리면 그냥 섭종되니까

접속자를 여러대의 서버로 분산시키고 대신 서버를 하나처럼 묶어 데이터를 동기화 시킴으로 접속 부하를 낮춤


짐 문제가 마지막 저장된 케릭터 레벨이 48인데 접속해서 50까지 올렸단말이지

그런데 시발 지금 이게 다른 분산된 서버에 데이터가 동기화가 안된거여 



이 상태에서 튕겼던 정상종료했던간에 재접속을 했는데

재수없게 최신 정보가 저장되지 않은 곳에 커넥션이 맺어진거지

그럼 렙따된것처럼 예전 케릭터정보를 물고오는거야


그림은 2개지만 상용서버가 2개보단 많겠지..대신 동시에 몇개 서버가 동기화에 실패했을지는 내부에서만 알겠고

DB 데이터 테이블이 케릭터정보, 아이템정보, 펫정보 등등 관리하는 영역은 따로 있을거고

그 중에서 케릭터정보랑 일부 테이블에서 동기화 오류가 발생하고 있다는 게 맞을것같다.

이게 빽썹처럼 보이는거고..

정말 빽썹이었으면 모든 정보가 다 뒤로 가야하거든.


다음검색
현재 게시글 추가 기능 열기
  • 북마크
  • 공유하기
  • 신고하기

댓글

댓글 리스트
  • 답댓글 작성자만쥬 작성자 본인 여부 작성자 | 작성시간 19.10.11 분산서버 많이 씁니다. 저희도 쓰고있구요
    그림을 대충그린것도 있는데 클라랑 서버 중간에 스위치가 있어서 로드밸런싱 될겁니다
    mysql, mariadb, oracle등등 복수의 물리적 데이터 베이스를 하나의 서버로 묶어서 쓰죠
    용어는 DBMS마다 다르긴한데 mysql은 리플리케이션, mariadb는 갈레라 클러스터 등등 있습니다.

    그리고 분산서버는 미러링같이 Active-Stand by보다 Active-Active 구조로 되어있고,
    분산처리에 따라 마스터서버에서만 Insert/Update만 허용되고 슬레이브는 Select만 되게 할수있고
    명령어가 모두 가능한 대신 마스터에 동기화 투표권을 부여해서 동기화 여부를 묻고 Update하는 방식이 있습니다
  • 작성자황플레이어 작성시간 19.10.11 싸게싸게 mysql썼다는 가정 하에 DB replication(복제) 했다고 가정.
    DB 마스터 서버, DB 슬레이브 서버가 있는데 마스터가 잘 돌다가 뻑나서 자동으로 슬레이브 서버가 마스터 서버 역할로 수행하는 Active-stand by 상태의 이중화 구성이라고치면.
    마스터 뻑남 -> 슬레이브가 마스터 역할함 -> 원래 마스터 서버 살아남(또는 문제해결하고 살림) -> 원래 마스터 서버가 마스터 역할함

    구조로 DB 서버가 돌아가는데 원래 마스터 서버가 뻑난 상태에서는 슬레이브가 레벨을 100을찍던 200을 찍던 뻑난 서버에는 기록되지 않기 때문에 슬레이브 서버에 있는 데이터를 수동으로 동기화시키지 않고 그냥 DB를 동작하면 자연스럽게 렙따가 발생함
  • 답댓글 작성자만쥬 작성자 본인 여부 작성자 | 작성시간 19.10.11 얘네가 뭔DB를 쓰고 OS를 쓰는진 모르겠지만
    뻑나든 내부 트랜잭션 오류이든 지금 동기화 안되는건 맞는듯
  • 답댓글 작성자황플레이어 작성시간 19.10.11 만쥬 사실 저건 저희 쪽에서 쓰는 방식이라 아는만큼만 쓴 것이고, 지금 렙따가 계속 되는 상황에서도 (서버가 불안하다고 보임) 대책없이 정비안하고 계속 밀어부치는거보면 운영 능력 답 나오는 듯;
  • 답댓글 작성자만쥬 작성자 본인 여부 작성자 | 작성시간 19.10.11 황플레이어 뻑이나면 트랜잭션 로그로 복구해서 지연된 데이터 만큼 처리해야하는데
    서버 설계를 어떻게 했는지 장애대응이 하나도 안되는듯..운영이 개노답이거나 서버조차 외주일수도..
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼