서버 모델엔 어떠한 것들이 있을까요?

kukuman의 이미지

아래 보니깐, 서버 모델에 대한 글이 있던데,,, 예전부터 궁금했던 점이 있어서, 질문할까 합니다~ ^^

먼저 서버 모델들에는 어떠한 것들이 있는지요?
( 여기 저기 뒤져보니 fork, prefork, thread, prethread, select등등이 있는데 이상한 점은 select같은 경우엔 I/O Model 중 하나인 것 같은데, 왜 서버 모델에 들어가 있는지 모르겠습니다~ 아니면 select를 사용한 특정한 형태의 서버 모델이 있어서 그것을 select형이라고 하는건지? )

서버 모델엔 정확히 어떠한 것들이 있고, 각각 어떠한 특징을 갖는지요?
궁금해요~ @_@~

alfalf의 이미지

이곳에 가시면 여러가지 모델로 서버를 구성한 예와 내용을 보실 수 있습니다.

http://www.joinc.co.kr/search.php?query=&topic=35

kukuman의 이미지

답변 감사드립니다~

근데 다중연결서버를 구성하는 방법으로 fork, select, poll, thread 등를 쓰면 되는 건 알겠는데,,, 그러한 구분은 사용할 주요(?) 함수에 의한 구분인 것 같구요... 제가 궁금했던 것은 그러한 함수들을 사용해서 어떻게 서버 프로그램 모델들을 구성할 수 있으며, 그러한 서버 프로그램 모델들 중에서 많이 쓰이는 좋은 모델들에는 어떠한 것들이 있는가 하는 것이었습니다... 물론 프로그램을 구성하는 데에는 목적과 용도 및 상황에 따라 많이 달라지겠지만,,, 가장 일반적인 기능만을 갖는 서버 프로그램이라고 할 때에요...

근데 지금 생각해보니 아무리 일반적인 경우라 해도 그런 모델들이 일일히 따지기엔 너무 많을 것 같네요...^^;;;;

fork, select, poll, thread, prefork, prethread로 구분하는 것은 그 기준이 복수의 클라이언트들의 처리를 위해서 서버에서 사용할 수 있는 방법이었던 것 같네요... 이 구분 기준을 알지 못해서 계속 헷갈려했었던 것 같습니다...

계속 헷갈렸던 건, 위의 구분에 I/O Model이 같이 섞여 있어서 그랬던 것 같습니다... 이제 생각해보니 select나 poll같은 경우에는 I/O multiplexing을 사용해서 복수의 클라이언트를 처리해주는 것이고 fork, prefork같은 경우, process를 사용해서, 그리고 thread나 prethread같은 경우엔 process대신에 thread를 사용해서 처리를 해주는 것이었네요...

여튼 답변 보고 Joinc 가서 글들을 읽어보고 이래저래 생각하다가 이제 정리가 좀 됐습니다^^~ 결국 자문자답한게 되어버렸네요...

근데 제대로 이해한게 맞을까? ^^;;

Be at a right place at a right time...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.