Home > Backend Development > PHP Tutorial > Database read-write separation and payment callback operations

Database read-write separation and payment callback operations

WBOY
Release: 2016-07-06 13:52:37
Original
1057 people have browsed it

I am thinking about separation of reading (A) and writing (B) in the database. If there is a payment callback, there will definitely be transactions in the middle, which requires multiple queries (A) and writes (B), and operates multiple different hosts. Library (A, B), how to maintain data integrity

For example, when the payment is called back, verify it first, then open the transaction, check in A, write B, check A, and write B, will there be no problems with the transaction?

The database used separates reading and writing. When calling back payment, it must be multiple reads and multiple writes. How to ensure that the transaction operation can be successful in one transaction

Reply content:

I am thinking about separation of reading (A) and writing (B) in the database. If there is a payment callback, there will definitely be transactions in the middle, which requires multiple queries (A) and writes (B), and operates multiple different hosts. Library (A, B), how to maintain data integrity

For example, when the payment is called back, verify it first, then open the transaction, check in A, write B, check A, and write B, will there be no problems with the transaction?

The database used separates reading and writing. When calling back payment, it must be multiple reads and multiple writes. How to ensure that the transaction operation can be successful in one transaction

First of all, it must be clear that opening a transaction is for a database, that is, for the main database. After opening a transaction, you cannot query from the database (nor can you query from the database, because the locking operation of the query is a write operation) , so in general, the entire transaction operation should be for the main database, and there is no problem of going to A to check and then writing to B as you mentioned.

If the business volume of the poster is very large, you can consider sharding the database and installing the user ID to take the remaining shards. Then the performance problem can also be solved, and the transaction problem can also be solved. My company's current business uses sharding

@junze Sub-database question, is your master-slave database data synchronization real-time? What kind of business scenarios are the master database and slave database divided into? How to ensure the data consistency of the master-slave database?

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template