안녕하세요. 하나의 도메인에 여러 사이트가 있는 경우 (서버도 별개의 서버) 사용자 DB관리는 보통 어떻게 하나요? 모든 서버에 사용자정보를 분산저장하려니 동기화 문제가 있고 그렇다고 하나의 서버에 놓으면 데이터를 가져올 때 속도문재가 있고.
어떤 방법이 있을까요?
https://en.wikipedia.org/wiki/Single_sign-on
냉무
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) ---------------------------------
텍스트 포맷에 대한 자세한 정보
<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]
이런 거 찾으시는 건가요?
https://en.wikipedia.org/wiki/Single_sign-on
SSO로 로그인을 한 후에 두개의 사이트 모두 수시로 사용자 데이터에 접근해야되서요..
냉무
SSO를 구성한다라는건 좀 포괄적인 내용인듯 해서요
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)
---------------------------------
댓글 달기