inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

퀘스트

퀘스트 처리 시 궁금한게 있습니다.

115

봄에핀

작성한 질문수 1

0

서버에서 브로드캐스트 이벤트 발생 시 퀘스트 클리어 확인 후 보상을 지급하고 DB 갱신을 하는 부분까지 이해했습니다.

 

DB쪽에서 보상처리 라던지 퀘스트 상태저장 시 실패할 가능성도 있을 듯한데 만약 실패했다면 서버의 메모리를 이전상태로 롤백해줘야할듯한데 서버 메모리를 이전상태로 변경하려니 코드가 많이 지저분해지는듯한데

실패가능성은 없나요?

C# unity mysql MMORPG ef-core asp.net-web-api

답변 2

0

Rookiss

DB쪽에서 보상처리 라던지 퀘스트 상태저장 시 실패할 가능성도 있을 듯한데
=
네 사실상 없습니다.
DB 저장에서 실패하면 무조건 해당 유저를 Kick을 하는게 어느 프로젝트의 서버나 공통적인 국룰입니다.
그런데 제가 라이브에서 일해본 결과, 그런 상황은 경험해본 적이 없습니다.
DB 제품은 은행에서도 사용할 정도로 튼튼하고 견고하니 믿음을 가져도 됩니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 봄에핀님.

서버에서 퀘스트 보상을 처리하고 이를 데이터베이스에 갱신하는 과정에서 실패 가능성은 항상 존재할 수 있습니다. 특히, 네트워크 문제, 데이터베이스 접근 오류, 또는 트랜잭션 실패와 같은 상황에서 오류가 발생할 수 있습니다.

실패 가능성과 해결 방안:

  1. 트랜잭션 사용: 데이터베이스에서는 일반적으로 트랜잭션을 사용하여 여러 작업을 하나의 단위로 처리합니다. 트랜잭션 중 하나의 작업이라도 실패하면, 모든 작업이 롤백되어 데이터 일관성을 유지할 수 있습니다. 이 방식은 서버 메모리와 데이터베이스 간의 일관성을 유지하는 데 효과적입니다.

  2. 오류 처리 및 재시도 로직: 특정 작업이 실패할 경우 이를 처리하는 로직을 추가해야 합니다. 예를 들어, 특정 오류 코드가 반환되면 일정 시간 후에 작업을 다시 시도할 수 있도록 합니다.

  3. 상태 관리: 서버 메모리에서 작업 이전의 상태를 저장하여 롤백이 필요한 상황에서 이전 상태로 복원할 수 있도록 설계하는 것이 중요합니다. 이를 구현할 때 코드가 복잡해질 수 있지만, 이 과정을 잘 관리하면 장기적으로 안정적인 시스템을 운영할 수 있습니다.

  4. 로그 및 모니터링: 장애가 발생했을 때 이를 빠르게 인지하고 대처하기 위해 로그와 모니터링 시스템을 활용해 서버 상태를 지속적으로 점검할 수 있도록 합니다.

관련해서 더 알아보시기를 원하신다면, 다음의 유사한 질문 답변들이 참고가 될 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

학습 전 커리큘럼 관련 질문 드립니다

0

109

1

강의 커리큘럼 질문 드립니다

0

60

1

수업질문은 아닌데요^^

0

114

1

게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제

0

85

1

선 이동과 히트 판정에 대해 질문 드립니다.

0

90

1

Job Scheduler - Cache locality

0

75

2

MMO 3D 게임 서버의 스킬 판정을 어떻게 하면 좋을까요?

0

190

2

코드 머지와 관련하여.

0

93

1

Nagle Algorithm

0

99

1

현재 강의를 이용하여 3D 게임을 만들 경우 변경되야 될 사항들에 대해 궁금합니다.

0

131

2

ResourceManager에서 Multiple Sprite를 로드하는 방법

0

101

1

M2는 업데이트가 끝난건가요?

0

149

1

Interpolation & Server Tick Frequency

0

172

2

서버에서 디스커넥트되시는분들 JWT 관련 참고하셔요

0

120

1

aws 와 microsoft azure 중 aws 선택하신 이유가 궁금합니다.

0

189

1

강의는 끝인건가요?

0

331

2

아이템 강화 테이블 관련

0

225

2

강의 관련 질문 드립니다.

0

238

1

리니지1의 이동 질문

0

400

2

버그에대한 썰

0

130

1

포탈 프로젝트에 서버 코드에 에러가 뜨네요

0

137

1

아이템 수량에 관해서 질문입니다.

0

140

1

퀘스트 관련 질문 드립니다.

0

142

1

스포닝풀 작업하는거 질문드려요

0

242

2