Editor's note: To develop a user-satisfied software is not easy, the software architect must fully grasp the various requirements, balance the need for potential contradictions between the needs of the different categories to meet. In the Upyun Open Talk the second phase of "mobile era of Internet financial architecture trends" technology sharing, the chief architect Wang Fuqiang brought the "digging money Internet financial technology exploration," Wang Fuqiang focus on the current excavation of the structure of the 6 key points:
1. System Hierarchy Separation
From the big system, digging money is mainly doing four latitude things, the first is a member center, digging a wealth of their own membership system, the second is cash flow, the third is the Wind control center, the fourth is the product center, and finally some liquidation and settlement of things.
Digging a fortune on all systems will do some modest key point separation. SOA (the method of structuring distributed computing) is essential at this level, and it will force us to go in that direction when the system is of a certain scale.
In the cash flow system, because the characteristics of cash flow data and general data characteristics are not the same, it will continue to rise with the latitude of time, can not be divided simply according to the user, so digging wealth from the user and timeline two dimensions of the distinction between cash flow. In order to maintain the consistency of data, digging wealth in the selection of the use of Scala language. In the system, the middleware will encounter the bottleneck with the increase of the data quantity, so digging the wealth in the following direction of service is specifically for the service to do optimization, in the application layer for the data layer to do some shielding work, it separates.
In addition to the technical separation of the boundary, we will have some division of responsibility, let personal advantage to give full play to dig the wealth at this point is the separation of the front and back end, the first to dig money in the technology is only to do asynchronous calls to generate some protect level of the specification, but ultimately the end of the matter is still to be completely done by the front end, This will result in an overall improvement in the efficiency of the front and back ends.
2. Messaging
The above separation, mainly in the system level of isolation and definition, isolation also needs to carry out the exchange between the system level, the formation of the system can produce greater value of services. Digging Money uses the message passing mechanism to solve the system interoperability problem.
In the way of message delivery using remoting (distributed processing), referring to the remoting more or RPC-related concepts, most of the Internet technology system is simultaneous multilingual development, RPC is a cross language communication standards. Service-based work will basically refer to the use of the Dubbo Service framework. In view of the high concurrency requirements of the financial system is not particularly high, digging the wealth of the use of the HTTP protocol to achieve.
3. Asynchronous processing
After resolving the system interoperability problem through message delivery, in order to minimize the impact of the event on the system, in as many places as possible to go asynchronously.
Digging a fortune, async typical application scenarios
When the mobile end of the server-initiated request directly to the millions, through the way of asynchronous processing to form a complete asynchronous closed loop, such as data processing, the data push to the mobile end. In this process, the server side can do some interaction, but also can do something locally. The most used in this link is Kafka and Akka technology. Akka is a relatively mature implementation of actor model on Java/scala platform.
Akka in Nature there is no speed limit, all messages can be sent in real time, which will cause a little attention will result in processing node data crashes, so we use the Akka process is the first problem to deal with the current limit. For example, through the ACK mechanism to alleviate the back-end processing pressure.
4. Information storage, rather than lack of
Digging wealth on the information this piece now adopt Ning much do not lack of principle, keep every change, instead of the original direct coverage, so that when there are problems can be traced, not because the query not to some information and confused.
The use of Kafka in the message delivery process is also taken into account in this regard, we value the most is the Kafka data storage capabilities.
In addition to Kafka, we also carried out a number of small practice, in terms of maintenance, if the core data changes, before the direct coverage, now is the core field with a version number, later any problems can be based on the time to find out the operation. For example, actor crashes, we can go back at any time through the creation of Akka, without the loss of information, the problem of data loss. In a word, the technology of digging money hope to have their own time machine, out of the problem can be rolled back.
5. System security
Security is a relatively important issue for the financial system. ATBs is already the lowest standard in the financial system. In order to resist the external harm, first as far as possible set the threshold, this can reduce the technical cost.
At the technical level, will build basic defense layer, such as network firewall, application firewall.
At the business level, through the third party, in the anti-fraud level, the use of technology with the Shield technology, at the same time with the wind control team for human intervention.
At the interception level, in order to ensure isolation, and do not want Kafka to take over everything, the cluster is a problem, the collective will be affected, so you want to physically deploy the application of isolation, the corresponding cluster responsible for the corresponding business processing.
6. Storage Redundancy
From the point of view of distributed storage, the traditional Internet more in the CP point of view, tends to weaken the storage, but for the Internet financial enterprises, the need to improve the consistency of the storage data to the first place. For the core trading system, in order to avoid the disadvantage of message queue, a simple and flexible multi-write is used to solve the problem of data consistency.
Digging a fortune from the technical framework, it is hoped that a reactive (response) system that is completely triggered by events, with time and data flow and elastic mechanisms, will eventually be formed.
Author: Wang Fuqiang, current chief architect of digging finance, former Ali senior architect, has been in the Alibaba Platform technology department and the Cat Product technology department; 6 years of Japan, Europe and the United States top financial institutions credit, foreign exchange futures, bond trading platform product planning, architecture design, development operation and maintenance; 5 years Ali Department of large data, search/recommend, Middleware, real-time data calculation and flow computing and many other technical fields; 1 years freelance, platform research and creation; cobarclient Distributed data access layer author; the author of spring revelation; Scala's early adopters and preachers.
"Manuscripts proposal" in recent years, cloud computing has become the core driving force to help enterprise transformation, not only the enterprise's IT Infrastructure management brand, but also to bring more intelligent operation. At the same time, cloud computing is leading the industry to change the way people live. Although the cloud computing in the rapid development, but from the start, research and development, application, promotion and other aspects, in China, the development time is relatively late, which has many problems, can be described as opportunities and challenges coexist. In order to promote cloud computing technology development, better service providers, CSDN cloud computing channel for the cloud service provider, start-ups and individuals, such as collection of manuscripts, invites the company's doers to talk about your technical combat, as well as case-sharing, but also welcome a hot topic or technology to share your views.
Submission + Inquiry please email: qianshg@csdn.net.