메세지 큐와 공유 메모리 방식에 대해서 질문 하나..

proman2k의 이미지

설정 파일이 하나 있구여...이 설정 파일에 접근하여 get, set과 같은 방식으로 값을 가져올 수 있는 오직 하나의 데몬이 있습니다.

그리고 이 데몬에 여러 프로그램들이 값을 요구하여 설정 파일의 값을 가져다 쓸 수 있는 것이지요.
그러니까 웹으로 접근하거나 아님 명령 프럼프트의 프로그램으로 접근 하거나..텔넷으로 접근하거나 할때 이 데몬을 통해서 설정값을 가져다 쓴다고 볼 수 있는 것이지요.

이걸 구현하는데, 전에는 설정 파일의 값을 가져다 쓰는데 템프러리 파일을 하나 놓구서 이 파일을 생성하고, 오픈하고, 닫고 하는 방식으로 해왔는데 너무나 비 효율 적이더군요. 오버헤드도 많고..

해서 이걸 좀 구조적으로 구성하려 합니다.
구조적으로 구현하는데, 메세지 큐 방식으로 접근하는게 낳은지, 아님 공유메모리나 소켓으로 접근하는게 낳은지요...IPC중에서 한가지 유용한 방식이 있을거 같은데 아직 경험이 부족해서 조언을 구하고자 합니다.

참고로 오직 하나의 CPU에서 내부적으로 처리만 됩니다. remote는 아니구요..온리 local에서 처리됩니다.

그럼 즐거운 하루 되세요.

alsong의 이미지

구현하기에 간단한방법은 메시지 큐나 소켓이 좋겠군요.
근데 성능은 shared memory에 비해 안좋은걸로 알고 있읍니다. 거의 프로세서가 자기 영역의 메모리를 접근하는 속도와 동일할겁니다.
여러 어플리케이션이 접근한다면 shared memory의 경우 동기화가 필요할 경우가 생깁니다. 조금 복잡해 지겠죠. 동기화가 필요 없이 구현 가능하다면 좋은 방법이 될 수 있겠죠.
성능을 원하신다면 아래를 간단하게 해결하실려면... 위에 방법을

시간은 재보진 않았지만 메시지 큐는 많이 느리것 같더군요. 그냥 감각적인 느낌이므로 믿지는 마시길 바랍니다. ^^;

-------
혹시나 혼돈될 것 같은 말이 있어서 .
"거의 프로세서가 자기 영역의 메모리를 접근하는 속도와 동일할겁니다."는 메시지 큐가 아니고 shared memory를 말하는 겁니다 ㅎㅎ

그나저나 백수 언제 탈출하냐... ㅡㅡ; 배고파라.

wizcat의 이미지

메세지 큐를 사용한다면 동기화부분을 신경쓸필요가 없져..

댓글 달기

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