Обработка виртуальных денег - как это делают elance, odesk и другие?

Мне было интересно, как elance, odesk и подобные сайты обрабатывают деньги...

Когда вы вносите деньги на этот сайт, деньги поступают на их банковский счет, и вы получаете виртуальные деньги (привязанные к вашей пользовательской сущности в базе данных или что-то в этом роде)? И как работают денежные переводы между пользователями, когда кто-то завершает работу?

Вам обязательно нужны транзакции с базой данных, чтобы делать такие вещи, чтобы они не терпели неудачу или не подвергались злоупотреблениям? И можно ли это сделать без решений SQL, поскольку они не поддерживают транзакции?

На мой взгляд, проблема снятия денег дважды (без транзакций) может быть решена путем блокировки. Вы могли заблокировать процесс переноса с помощью комбинированных идентификаторов пользователя (от и до идентификатора).

Я на правильном пути, и мне действительно нужно использовать некоторые БД с поддержкой транзакций для этой части?

1 ответ

Почти весь мировой финансовый учет ведется с использованием RBDMS (например, Oracle, SQL Server, DB2 или MySQL). Однако, если вы хотите использовать NoSQL, вы можете рассмотреть решение CQRS, такое как CouchDB.

Другие вопросы по тегам