Large-scale trading system related technology and summary

The company has built a large-scale distributed spot trading system, including various systems, and the technologies involved need to be studied in depth.

Among them, I am responsible for the design, structure and overall details of the core account system in the overall system.

1. Technical aspects:

1. Distributed coordination:

zookeeper

say again

2. Persistence

Distributed cache redis

data persistence mysql

3. System communication

dubbo

netty (used by the market system)

okhttp (used for http communication)

rocketMq

4. System construction

spring,mybatis,spring boot

5. Others

jwt, high concurrency, distributed tasks

 

2. Business:

Registration and signing process:

1. Registration

2. Sign the contract

 

Payment process (three-party payment):

1, withdrawal

2, deposit

 

After-hours trading process:

1. Subscription

2. Purchase

3. After-hours non-trading transfer

4. Pick up

 

Intraday trading process

1. Commission

2. Match

3. Transaction

4. Cancellation

 

Exchange intraday status modification process

1. Deposit and withdrawal status

2. Transaction pending release status

3. Account lock status

4. Market opening and closing state

 

After-hours settlement process

After-hours internal reconciliation process

After-hours external reconciliation process

 

3. Data flow

1. Fund data flow of ordinary users

2. Ordinary user position data flow

3. Platform capital data flow

 

Summary: It is inconvenient to say the specific details of the business, so you should keep a running account for yourself. But the technology involved, summarize and write it yourself.

 

Receipt:

Technically, it's the ones written above

In business, spot transaction, financial system, three-party payment, etc.

In terms of operation and maintenance, including Linux system deployment and debugging, the shell is simply written.

The development tool has always been eclipse, but now it's turned to idea

 

Tucao: If it is only the improvement of the above symptoms but not the root cause, wouldn't it be very low, huh, huh

thinking,

The overall process thinking mode, that is, the business of the system needs to be considered when writing code, and the relevant business needs to be fully understood and determined whether it is involved.

The high-level thinking mode means jumping out of the system. Because the large-scale trading system has a large amount of data, complicated circulation, many systems involved, and different communication methods, it is necessary to consider whether other systems are involved, and think about the entire trading system.

The no-dead-end thinking mode, that is, the business line of thinking cannot be interrupted, and there cannot be any unclear or unresolved dead ends in the middle.

on the code,

The sensitivity of try/catch is improved, the service deduplication sensitivity of message queue is improved, the sensitivity of redis read and write and distributed cache design, the sensitivity of query dimension is improved, and the sensitivity of object-oriented abstract business extraction thinking Improve, the sensitivity to the cleanliness of other code is improved. Increased sensitivity to high concurrent processing caused by subscription messages. The sensitivity of filling in buried log for important code parts has been improved.

 

In Shenyang, a place where technology is relatively poorly developed, it is not bad, I have gained a lot, and I will continue to work hard. There are many stages in Zizai Jiyi, but it is still a lot worse. If you have self-knowledge, continue

 

Tucao again: The first thing in technical life is to have a forward-looking vision. Now it seems that artificial intelligence is very popular. Am I following the trend? Or continue to run java? In fact, java has not yet run to understand

 

 

 

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326314565&siteId=291194637