여러 사이트의 사용자DB관리 방법?

jic5760의 이미지

안녕하세요.
하나의 도메인에 여러 사이트가 있는 경우
(서버도 별개의 서버)
사용자 DB관리는 보통 어떻게 하나요?
모든 서버에 사용자정보를 분산저장하려니 동기화 문제가 있고
그렇다고 하나의 서버에 놓으면 데이터를 가져올 때 속도문재가 있고.

어떤 방법이 있을까요?

익명 사용자의 이미지

czz96의 이미지

SSO를 구성한다 라는건 좀 포괄적인 내용인듯 해서요.
(https://blog.naver.com/tomatosoft/140139958084)

결론적으로 SSO를 구성하셨다면 추가 질문을 하지 않으셨을꺼라 생각합니다.
추가 질문의 포인터는 로그인에 대한 세션(쿠키)을 어떠한 시스템에서 어떻게 관리하느냐로 해석되네요.

1. 파일로 세션을 관리한다면 NAS, SAN, NFS 등 서버 이용해서 관리하시면 될듯하고요.
(http://mizix.tistory.com/170)
2. memchache 서버를 두고 세션을 관리 할 수도 있을 듯 하고요.
(http://blog.daum.net/ibest007/17430171)
3. redis 서버를 두고 세션을 관리 할 수도 있을 듯 하고요.
(https://ndskr.blog.me/221081262735)
4. 기존 관계형 DB(mysql) 같은 곳에 세션을 관리 할 수도 있을 듯 하고요.
(http://culttt.com/2013/02/04/how-to-save-php-sessions-to-a-database/)

// 결국은 저렇게 하다보면 향후 부하시 증설 문제에 도달하게 되는데~
// 증설(확장) 및 관리가 편한게 좋겠죠. 그래서 Clustering이 되는 솔루션을...
// 그러다 보면 Redis Cluster(http://blog.leocat.kr/notes/2017/11/07/redis-simple-cluster)나 Maria Galera Cluster DB(http://bcho.tistory.com/1062)로 구성하게 되는 듯합니다.

클러스터를 구성해도 복잡도는 올라가고 관리(모니터링)와 증설도 일이죠.
장애가 나면 이젠 싸이트 통채로 접속이 안되니...장애 위험도 역시 올라가게 되고... 책임은 늘어가고... 결국은 그런걸 피하다 보면...클라우드 컴퓨팅 기술로...;;;

5. AWS(dynamodb, RDS2, S3, ElastiCache....)같은걸 이용하게 되는듯합니다. - 아마존 홍보는 아닙니다.;; ㅎㅎ;;
(https://aws.amazon.com/ko/blogs/korea/amazon-elasticache-update-online-resizing-for-redis-clusters/)

다른 방법이 많을진 모르겠지만 소견일 뿐입니다. ^^

// 로그인을 다 처리 하셨다면 DB통합도 일이죠.
// DB를 통합하지 않는다면 DB 컨넥션을 각각 다 붙여야 겠죠.
// 그러다 보면 속도 저하도 발생해서... 비동기화방식 통신을 찾게 되는 듯합니다.
// 기존 소스를 모두 비동기 방식으로 다 바꾸는 것도 일이죠. 그걸 피하려다 보면 API서버를 구축하게 되고
// API서버에서 DB서버로 비동기방식의 통신을 추구하게 되는듯합니다.;;

---------------------------------
Linuxer / 이재원(Jaewon Lee)
---------------------------------

댓글 달기

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