서버

Little_Machine_Human_·2025년 1월 17일

오늘은 뭔가 서버에 관한 이야기가 하고싶었다.

이제까지 직접 사용해본 서버목록으로 나눠보자면

  • Apache - c10k문제
  • NginX - c10k문제 구조적해결이라고해야하나.. 아무튼 해결하려고 노력함. 물론 양이 늘어남에 따라 한계는 있음
  • litespeed - http3.0지원했던걸로 기억
  • h2o - 벤치 마크상 http2기준 가장 빠른 웹 서버
  • NodeJS - 채팅서버, 웹서버로 쓰기 편한듯
  • FastAPI - Image to Image Image to Video같은거 할때 사용했음
  • Photon - 유니티 게임 서버로 사용 UDP지원해서 확실히 유니티측 게임서버는 포톤을 쓰는게 좋아보임
  • Xammpp - 윈도우에서만 사용해봄, 간단한 웹 서버 열기에 좋은듯 GUI가 잘되어있음
  • Caddy - 벤치 마크용으로 사용해본 서버 장점이 기억이 잘 안나네..
  • Lighttpd - 저전력서버로 기억,..
  • 직접만든서버
    Java Stream기반 채팅 서버
    Java Stream기반 이미지 전송서버
    Java Stream기반 STT to animation..?

그 외에는 기억은 안 나지만
친구들이랑 같이 하려고 만든 게임서버다수..? ( 마인크래프트, 좀 보이드, 메이플.. 등등 )

위 생각보다 많은 서버를 썼는데 그중 가장 많이 사용한건 아무래도 Nginx인거같다.
아무래도 간단하고, 강력하고(잘 죽지않는다), 검색도 용이해 이슈도 금방 해결한다.
즉 되게 안정적이고, 무료다. 다만 HTTP2.0까지만 지원한다는게 조금 아쉽다면 아쉬운점?

그외에 다른 웹 서버들도 HTTP3.0이나 퀵 프로토콜을 맛이나 봐보자 라는 생각으로 써봤는데
결론적으론 굳이? 였다. 확실히 2HandShake로 끝난다는건 장점인건 알겠으나, 드라마틱한 차이는 잘 모르겠다.

뭔가 네트워크통신이 중요한 서비스라면 고려해볼법하지만, 일반적인 서비스를 기준으로 했을떄는 HTTP2.0도 아직 훌륭하다고 생각이 든다.
( 설정도 복잡하고, 에러도 많고, 이슈해결방법도 많이 있진 않다, 뭔가 정형화가 안된느낌이라고해야하나, 지원하는 웹 서버 자체가 드물다보니 그럴 수 있지 않나 생각이 든다. )

아무튼 뭔가 코드를 올려야할거같은데, 오늘따라 귀찮아서 그냥 이렇게 글로 때워본다.

글을 쓰다보니, 한창 공부할때 keepalive, 논블로킹, 이벤트 드리븐,동기&비동기, http역사, 데이터를 보내는 원리 등등 공부했던 기록이 새록새록난다.

결론적으로 이런 서버를 만드는 사람들도 대단하고, 역시 기술이란건 한번에 뙇 하고 나오는게 아니라 개선하고 보완하고, 더 나은 기술로 진보하는거같다. 참 재밌다.

profile
while(true){ 가족(); 건강(); 자기개발(); }

0개의 댓글