입력 -> 실행 -> 로직
서버 모델링을 할 경우, 초기단계에는 심플하게 만드는게 좋으므로
싱글쓰레드 모델링을 하는것을 추천. 구현이 제일 간단하므로...
설계 확장하기
Interaction
- 공간 분할이 필수
- 동적 분할 / 정적 분할
- 타일 분할 간단 소개
구현이 간단 , 초기 비용이 거의 없다 , 시야 거리를 동적으로 바꾸기 어렵다 ,
속도 향상은 적다.
- 서버가 보는 심리스 월드
- 심리스 월드를 바라보는 관점
> 결국 크기를 어떻게 할것인가.. 그게 주 관점 ..
동기화 VS 비동기..엄청 중요하지 암암..
서비스의 속도를 떨어트리는 공회전,,, 언제 일어나지?
1 DB 요청
2. 객체 잠금 Lock
3. 명시적 대기 . sleep() , Event.wait()
해결 방법 !!
비동기처리...ㅠㅠ...그래요....
그래요 ,, 말해주지 에이..
* 동기화 코드 모델 샘플 소개
비동기로 한번 빠지면,, 돌아오지 못하기때문에..."주사위는 던져졌따.."
Input Thread 를 기반으로 작업해 본다.
이렇게 작업 할경우, 한명의 유저 정도가 느리다고 느낄수 있다.
자 중요한것은 그렇다면 무엇인가, 내성이다.
내성이란?
- 서버가 입력속도보다 처리속도가 낮아지는 상황에서 얼마나 빨리 복구되냐의 수치
- 이게 가장 좋은걸 강연자는 Input Thread로 보고있다.
마치며..
동기화 로직은 코드를 깔끔하게 한다.
비동기 로직은 성능향상을 시킨다.
이 둘 사이에서 균형을 잡아야 한다.
강연자는 코드 깔끔한 쪽을 선호한다.
-> 데이터 베이스 로직
-> 서버 샤딩과ㅠ관리
-> 로깅
-> 서버 샤딩과ㅠ관리
-> 로깅
댓글 없음:
댓글 쓰기