единый знак наилучшего подхода - PullRequest
2 голосов
/ 23 декабря 2011

Мне нужен совет по наилучшему подходу для решения с единым знаком.

В основном я имею в виду 2 сайта, которые уже находятся в производстве. Сайт A является .net paiedr с SQL, а сайт B - php в паре с MySQL.

Я полагаю, что быстрый и грязный способ создать единый логин - импортировать существующих пользователей с сайта A на сайт B и наоборот. Затем я добавил бы некоторый дополнительный код в сценарий регистрации, чтобы, если новый участник регистрировался на сайте A, новая учетная запись в дальнейшем добавлялась в обе базы данных. То же самое для сайта B.

Буду признателен за альтернативные предложения .. Спасибо

Ответы [ 3 ]

1 голос
/ 23 декабря 2011

Почему два сайта кстати?Разве вы не можете интегрироваться в один сайт?

Эффективное решение - это ..

Выберите одно решение .Net или PHP, потому что для отслеживания каждого действия пользователя, вашегоСценарий будет выполняться на обоих сайтах для одного пользовательского действия.Это не считается эффективным, так как это ненужная нагрузка.Так что либо пожертвуйте .Net или PHP.

Перенаправьте сайтA URL на сайт B или наоборот (в зависимости от вашего решения)

Получите хорошее хостинговое решение от MT (MediaTemple) {кстати, я не рекламирую;)} так, чтобы он мог управлять / балансировать трафик, который получал на обоих сайтах.

0 голосов
/ 23 декабря 2011

Обычно вы можете просто подключить сайт A к базе данных SQL сайта B, и Visa-наоборот, так что вам действительно нужно использовать только одну базу данных двух сайтов.

Чтобы вставить в две разные базы данных, просто подключитесь ккаждая база данных, по одному, и выполнить ваш запрос.Например:

$mysql1 = array (
    'host' => 'host1.website.com',
    'username' => 'host1_username',
    'password' => 'host1_password',
    'database' => 'host1_database'
);
$mysql2 = array (
    'host' => 'host2.website.com',
    'username' => 'host2_username',
    'password' => 'host2_password',
    'database' => 'host2_database'
);

//insert into database 1
$connection = mysql_connect($mysql1['host'],$mysql1['username'],$mysql1['password']);
if($connection) { if(mysql_select_db($mysql1['database'])) {
    $query = "INSERT INTO `tablename` VALUES ('blah','blah','blah!');
    if(mysql_query($query)) {
        echo "Success in Database 1!";
    } else {
        echo "Failure in Database 1.";
    }
} }

//insert into database 2
$connection = mysql_connect($mysql2['host'],$mysql2['username'],$mysql2['password']);
if($connection) { if(mysql_select_db($mysql2['database'])) {
    $query = "INSERT INTO `tablename` VALUES ('blah','blah','blah!');
    if(mysql_query($query)) {
        echo "Success in Database 2!";
    } else {
        echo "Failure in Database 2.";
    }
} }

Но я предлагаю использовать только 1 базу данных и подключить оба сайта к 1 базе данных.

0 голосов
/ 23 декабря 2011

Вообще говоря, вы не хотите поддерживать 2 набора данных, в любой момент они будут синхронизированы при возникновении ошибки в вашем приложении или сети, в лучшем случае будет сопоставлять пользователей сайта A с сайтом B,и между ними есть служба, такая как API (убедитесь, что вы используете SSL), вам придется решить, на каком из сайтов будут размещаться пользовательские данные.

Если вы решите использовать сайт A, то:

Если пользователь на сайте B регистрируется и создает новую учетную запись, сайт B отправляет эти данные на сайт A, сайт A сохраняет в БД и с успехом отвечает на сайт B, пользователь теперь зарегистрирован

пользователь на сайтеB пытается войти в систему, сайт B отправляет данные пользователя на сайт A, в случае успеха вы теперь войдете в систему

. Такой подход я бы использовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...