A - stream server(중계) - B 적절한 중계방법

hbsnow의 이미지

1. 여러 A 에서 server로 접속 사실을 알려준다. (연결유지)
: 여기서 연결유지를 시켜주는 이유는 방화벽이나 유동아이피를 고려해서입니다.
server는 접속이 된 여러 A를 관리한다(socket1, socket2, socket3..)

2. 여러 B 에서 server로 접속이 오면 id 체크로 해당 A에 데이타를 B로 전송한다

고려사항
1) A socket과 B socket쌍으로 연결시켜주기위해 관리할 자료구조 형태, 아님 쌍을 연결시켜줄 다른 방법

2) 서버에 부하
연결을 잡고 있어야 되기에 생기는 부하, 10000명이 접속을 하면 만개의 연결을 잡고 있어야 하기에...

3) 서버 모델
thread나 fork
A socket과 B socket를 검색연결하기위해 자료구조가 필요하다면 공유를 위해(추가,수정,검색)위해 thread가 편리할듯.. 일단은 thread형태로 방향을 잡고 있긴 합니다만...

kldp를 다 찾아봤는데 이런 물음은 없네요!
고수님들의 조언을 부탁들입니다.
좋은 하루 되세요!

hbsnow의 이미지

꼭 답변이 아니더라도...

본인이 생각을 적어주시면 도움이 되겠는데요..

작은 의견이라도....

애기를 나눠봤으면 좋겠네요

김충길의 이미지

X(A) - Y(중계) - Z(B)

X > Z >> Y

Y는 thread보단 process + thread 혼합 모델이거나 process 모델로
가는게 좋을듯 하네요. 구지 thread로 가야 한다면 한 process가 10000만개의
연결을 관리하는건 무리가 많이 갈듯 합니다.

중계에서 서로 공유되어야 하는 부분이 있나요?

웹 같은경우 Y는 단순히 분하분산 시스템정도 일듯 합니다. L4 스위치
B는 다수의 하드웨어 장비에 각각 존재하는 웹서버 데몬이 되겠죠

사실 이런 모델에 대해서 구성 설정이나 성능에 대한 데이타는 거의 공개가
없죠. 누군가 논문을 쓰지 않는 이상.. 또 서비 시스템의 튜닝에 따라
많이 달라지겠죠.

그리고 최종적으로 성능은 하드웨어로 커버하지 소프퉤어로 커버 하지
않는걸로 알고 있습니다. 소프트웨어 개발 비용이 더 들죠(특히 시간은.. )

screen + vim + ctags 좋아요~

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.