Editor's note: expansion of existing systems is a big or small challenge for each technical team. Especially for banking businesses, it is not easy to implement expansion by modifying the architecture or rewriting the system because we need to take care of the existing system (that is, the existing customers, the general approach is to use Oracle RAC and other high-end hardware to make up for the existing scalability, but this approach is relatively expensive. The author of this article focuses on Java and. nati Shalom, founder and CTO of GigaSpaces on the NET application platform, takes Avanza, a bank customer as an example to introduce another solution to scalability. Its principle is to achieve read and write scalability without rewriting.
Reading: a simple way to locate the trace file in Oracle 11g
The text is as follows:
Last week, I attended a seminar held by a partner in Stockholm, in this activity, I proposed the integration trend in the field of data scalability-especially the transition from NoSQL to NewSQL and the integration trend that makes the existing SQL and NewSQL more closely linked. As I have already pointed out in a previous article, "YeSQL: A Generalization of Query semantics that only exists in the Post-SQL field ."
498) this. width = 498; ">
During this activity, Ronnie Bodinger-Avanza's IT department director gave a wonderful comment, it explains in detail how they migrate existing banking applications to new sites with better read/write scalability.
Avanza System Overview:
Avanza is a Swedish bank well known for its convenience of property rights transactions and fund transfers for investors. It also handles the largest proportion of transaction activities on the Stockholm stock exchange.
The bank provides services to its investors through the online banking system. Its current online system uses typical websites based on Java, JSP, and Spring.
Architecture expansion of existing sites
Currently, the interaction functions of most sites are mostly read-only, and the major challenge in scalability is to adjust the existing parallel read operations. Read extensions are processed by the endpoint cache structure, which usually exists in most existing LAMP and distributed cache deployments. The first query command points to the database, and the subsequent query command points to the cache content.
New System
The design concept of the new website must meet the current real-time synchronization and social networking needs. This means that most of the traffic and network activities are initiated by users today, different from the common website events. In addition, the execution process and results of such commands must be submitted to all users who use banking services in real time.
Challenges
Changes to new web pages will bring about a series of changes in traffic and load response. These changes undoubtedly require higher scalability.
Write scalability
When our existing endpoint Cache architecture needs to cope with a large number of update activities, its performance will be greatly compromised. At this time, the cache response speed will become extremely slow, and the cache synchronization process will become a task that increases overhead but has no effect.
Oracle's RAC high-end hardware platform cannot receive the desired results. This solution is not only too expensive, but also unable to meet the requirements required to ensure scalability.
Unlike building an application from scratch, Avanza has already established an online application to serve existing customer groups. This poses the following additional challenges:
◆ Existing data model
The entire set of data models supporting applications is derived from such a model relationship. Changes in the data model or the migration to the new NoSQL architecture will be considered to cause huge changes, which may continue to have adverse effects over the next few years.
◆ System Residue
498) this. width = 498; ">
Online banking applications contain a large number of residual applications and third-party services. Because of its dependence on third-party tools, it is neither possible nor practical to rewrite existing infrastructure.
◆ Complex environment
498) this. width = 498; ">
Generally, a large part of the remaining applications do not take into account the scalability requirements in the design process and do not have a clear overall architecture, for many years, this type of program has always been written in a layered approach. This also makes the complexity of improved scalability more complex.
◆ Existing basic knowledge
The existing development team has good knowledge and skills in Java and Java EE, and forcing the team/development team to accept a new set of basic knowledge is not just a heavy burden. This unbuffered high-speed development requirement and the resulting complexity of the system may also become insurmountable huge obstacles and will take several years to overcome.
| [Content navigation] |
| Page 1: Scenario Description |
Page 1: Solution |