Good Java programmer learning routes Share SpringCloud

Good Java programmer learning routes Share SpringCloud
First, the evolution of the Web application framework
with the development of the Internet, expanding the size of Web applications, Web application architectures are constantly evolved in four phases: a single application, vertical applications, distributed services, flow calculation
Good Java programmer learning routes Share SpringCloud
1. the single application architecture
when site traffic is small, only one application, all the features are deployed together to reduce the cost of deploying nodes and at this time the key issues: simplifying database operations, data access is the core ORM framework
Good Java programmer learning routes Share SpringCloud
applicable scene: small sites, management system, simple office system

Limitations:
1. poor scalability
2. Not easy to co-develop
3 is not conducive to upgrade maintenance

2. Vertical Application Architecture

When traffic is gradually increased, a single application (single) load too, may be added at this time to the server load balancing, response speed, i.e., set
group

  However, when the server reaches a certain increase in data caused by the acceleration will become increasingly smaller, then simply adding servers have been unable to significantly improve the response speed

In this case, the system needs to be split into a plurality of unrelated business systems are deployed on a separate server to improve efficiency, to be referred to as vertical
with

At this crucial question: to accelerate the development of the front page MVC framework (MVVM)
Good Java programmer learning routes Share SpringCloud
Benefits: By splitting the project business, achieve operational independence and reduce the difficulty of development and maintenance, to facilitate collaborative development, improved scalability

  Limitations: each vertical module has the same content (entity, dao, service, web), with a common resource can not be reused, and can not be separated from the business logic and interface

3. Distributed Services Architecture
as vertical applications more and more interaction between the application can not be avoided, some can not fully operational system into separate systems.

  At this point, you can extract the core business appear as a separate service Service, gradually form a stable service center, the front-end applications to better adapt to changing market needs.

At this point the key issues: improving the use of services and the integration of distributed service framework RPC (Remote Procedure Call Remote Procedure Call)
Good Java programmer learning routes Share SpringCloud
4. flow computing architecture
as more and more service calls and dependencies between services are increasingly complex, the birth of a service-oriented architecture system listen (SOA: service
oriented architecture)

  Assessment capacity, waste of resources and other small service problems began to appear, this time need to add a dispatch center, pressure-based access to real-time cluster management capacity, improve cluster utilization

At this point the key issues: resource scheduling and control center, using springCloud + zookeeper
Good Java programmer learning routes Share SpringCloud
two, RPC Introduction
1.RPC is what
RPC: Remote Procedure Call Remote Procedure Call is a communication between a process
that allows applications to call another on the network the method of application
for consumers in terms of service, without understanding the underlying details of the long-distance call, transparent

2. The implementation process
Good Java programmer learning routes Share SpringCloud
execution flow:
1. call request initiated by the client
2. The client stub request parameters (interfaces, methods, parameters, etc.) serialize (package)
3. The client sends a message to the server stub stub
4. The server stub received the message deserialized

Guess you like

Origin blog.51cto.com/14479068/2425948