왜 이런 질문이 나왔냐면, 게임 서버는 매우 보수적으로 뽑는다고 들었는데, 웹 백엔드 쪽은 상대적으로 그렇지 않아보임. 웹 백엔드에서 사용하는 프레임워크가 내부에서 멀티스레드를 수행하고, 인터페이스는 사용자가 싱글스레드로 사용할 수 있도록 만들어 둔 것인지, 아니면 웹 백엔드 개발자들도 멀티스레드를 직접 수행하는지 궁금함.
게임 서버 공부 중인데 나만 존나 어려운건가 싶어서;;
왜 이런 질문이 나왔냐면, 게임 서버는 매우 보수적으로 뽑는다고 들었는데, 웹 백엔드 쪽은 상대적으로 그렇지 않아보임. 웹 백엔드에서 사용하는 프레임워크가 내부에서 멀티스레드를 수행하고, 인터페이스는 사용자가 싱글스레드로 사용할 수 있도록 만들어 둔 것인지, 아니면 웹 백엔드 개발자들도 멀티스레드를 직접 수행하는지 궁금함.
게임 서버 공부 중인데 나만 존나 어려운건가 싶어서;;
웹 백엔드도 진짜 기초적인 레벨 넘어가면 멀티스레딩은 무조건 알긴 해야됨ㅁ
요청처리 같은건 웹서버, 프레임워크에서 대신 해줘서 크게 신경 안쓰지만 요청에 대한 로직처리가 오래걸리면 신경쓰지
댓글 보니, 나만 어려운 거였네... 웹 백엔드를 왜 땔감이라 부르는겨;
잘안씀 대부분 멀티프로세스로 하지
멀티쓰레드하는데 대체로 stateless하게 하기때문에 크게 신경쓸일이 없는거라 봄
중요한데 내가 신경 쓸 요소가 전혀 없음 전부 다 훨씬 똑똑한 프레임워크 개발자들이 세팅해두기 때문에 그냥 있는거 베스트 프랙티스 따라서 잘 쓰면 됨
기초적인 이해가 없으면 상태 여기저기 만들고 다닐테니 필요하기는 함
필요에 따라 다르지만 어느정도 규모가 커지고 요구사항이 복잡해지면 필수적이지
프레임워크가 기본적으로 관리해주긴 하지만, 조금만 복잡한 문제 풀려고 하면 무적권 동시성 이슈 맞닥뜨리게 되있음. 공부해야됨 필수
여기서 백엔드 하는애들 댓글단거 맞나?? 멀티스레드 보다 멀티프로세스 기반을 더 다룰거고 동시성제어는 스레드 수준이 아니라 디비 수준에서 이루어질텐데. 소수의 프로세스가 특수한목적으로 고성능을 내야할경우나 멀티스레드 쓰지
얘는 대체 무슨 소리를 하는거지? 웹은 기본적으로 멀티스레드 환경에서 움직임 (node.js 같은 경우는 좀 특이사항). 보통 프레임워크가 사용자 요청당 스레드 분배를 알아서 해주도록 셋팅되어있음. 어플리케이션에서는 자원낭비를 최소화 하기 위해, 공유되는 객체같은 거 싱글톤으로 띄우는 경우 많은데, 당연히 내부에서 공유하는 상태를 객체로 사용할 때, 무작정 싱글톤으로 띄우다 보면 동시성 이슈 종종 터짐. 그것땜에 피본적 가끔 있고, 당근, 동시성 이슈는, 스레드 수준이 아니라 DB 수준에서 더 많이 터지고 훨씬 자주 발생하는 상황이긴 한데, 그렇다고 비싼 자원인 DB로 동시성 제어를 직접 다룰려고 한다? 그게 더 드문 케이스 아님?? DB에서는 기본적으로 지원해주는 트랜잭션만 사용하고, 어플 내부에서 최대한
해결하려고 하는 게 맞는 방향 아닌가? 멀티 프로세스는 뭔 말이지? 설마 node로 pm2 클러스터링 같은 거 얘기하는 거?? 댓글 보다가 나도 모르게 화가나네