2010-05-12 2 views
0

동일한 클라이언트의 여러 사이트를 단일 네트워크에 연결하는 작업이 제공되었습니다. 그래서 나는이 사이트들을 하나의 커뮤니티에 연결하는 것에 대한 건축 조언을 듣고 싶다.여러 사이트를 단일 커뮤니티에 연결하는 것에 대한 건축 조언

이 사이트는 다음과 같습니다
1 Invision 파워 보드 포럼 (가장 중요한 사이트)
2. 3 사용자 정의 만든 CMS-S (변경 허용 코드)
3. 1 드루팔 사이트를
4. 3 -4 워드 프레스 블로그

요구 사항은 다음과 같습니다.
1. 모든 사이트의 모든 사용자를 단일 관리 가능 엔터티에 연결. 권한 변경 능력, 사용자 금지 등
2. 나중에이 구현을 기반으로 로그인 장소에 관계없이 모든 사용자가 사용할 수있는 "facebook like"채팅을 구현해야합니다.

나는 이것에 어떻게 가야할지에 대한 생각이 거의 없지만, 내 경험보다 더 많은 경험을 가진 사람들을 듣고 싶습니다.

건배!

답변

0

시간이 지날 것입니다. 각 사이트 플랫폼에는 매우 다른 사용자 아키텍처가 있습니다. 수많은 코드베이스 변경없이 유동적으로 모든 것을 "연결"할 방법이 없습니다. 이러한 각 플랫폼을 크게 변경하여 중앙 데이터베이스와 통신하여 수천 개 (수만 개가 아닌 경우)의 코드 행을 수정할 가능성이 있습니다.

모든 플랫폼에 대한 명백한 (대규모) 변경 사항 외에 업데이트에 대해 걱정해야합니다 : 새로운 버전의 Wordpress가 출시되면 어떻게됩니까? 변경 사항을 드롭 할 수 없으므로 모든 코드를 수동으로 업데이트해야 할 가능성이 큽니다. 또한 모든 코드 변경 사항이 현재 데이터베이스와 호환되는지 확인해야합니다. 하나님은 플랫폼 중 하나가 사용자 정보를 다르게 저장하기 시작하는 것을 금하셨습니다. 코드를 더 많이 변경해야합니다. 이것은 단지 유지 보수 할 수 없습니다.

귀하의 대안 (그리고 최선의 방법)은 매 시간마다 실행되는 일종의 동기화 작업을하는 것입니다. 각 데이터베이스의 각 사용자를 반복하고 비교하여 둘 다 존재하며 최신인지 확인하십시오. 다른 데이터베이스. 그렇지 않은 경우 변경 사항을 밖으로 내 보냅니다. 이 문제는 점점 더 많은 사용자가 생길수록 상당히 느려질 것이라는 점입니다.

또 다른 대안은 단순히 사용자 정의 OpenID 구현을 제공하는 것입니다. 나는 Drupal과 Wordpress 모두 당신이 이용할 수있는 OpenID 플러그인을 가지고 있다고 믿습니다. 이렇게하면 사용자가 사이트 전체에 의사 단일 로그온 서비스를 사용하여 로그인 할 수 있습니다. 단점은 사용자가 사용하지 않을 수 있다는 것입니다.

행운을 빌어 요.

관련 문제