One day billion visit - EBAY architecture (2)

xiaoxiao2021-03-06  39

5, ebay

The transformation of the architecture is based on the model described below.

Core J2EE Pattern Best Practice and Design Strategy Second Edition, Sun official website also provides Core J2EE Pattern, see

Http://java.sun.com/blueprints/corej2eepatterns/patterns/

The book introduces 21 J2EE design patterns, we can classify them to the third floor.

(1), indicating the design mode of the layer:

- Intercepting filter (x)

- Front Controller (X)

- Application Controller (X)

- Context Object (x)

View Helper

- Composite View

- Service to worker (x)

- Dispatcher View

Band (X) means that these design patterns are used in the architecture of eBay.com.

(2) Design mode of the business logic layer:

- Business delegate

- Service Locator (X)

- Session Facade

- Application Service (x)

- Business Object (x)

- Composite Entity

- Transfer Object (x)

- Transfer Object Assembler (x)

- Value List Handler (x)

Band (X) means that these design patterns are used in the architecture of eBay.com.

3, integrated layer (also known as data access layer) design mode:

- Data Access Object (x)

- Service Activator

- Domain store (x)

- Web Service Broker (x)

Band (X) means that these design patterns are used in the architecture of eBay.com.

Second, the goal of eBay three-layer architecture

1, goal

High availability, high reliability, linear expansion, and establish a seamless growth of the system.

High development efficiency, support fast delivery of new features.

It can be adapted to future architectures, which should be updated in the future.

EBAY's system availability has reached 99.92% in 2002. (Amazing), add 15 major functions every quarter website,

Nearly 30,000 lines of code per week are modified, and an international version can be provided within 3 weeks.

2. In order to adapt to the future architecture, eBay uses the following practice.

J2EE mode

ONLY Adopt Technology When Required

Create New Technology As Needed

A large number of performance tests

A large amount of capacity plan

A large number of key points

Highly Redundant Operational Infrastructure and The Technology To Leverage IT

3, in order to achieve linear expansion, eBay uses the following practice:

(1) Use Server State reasonably

(2) No Server Affinity

(3) Functional Server pools.

(4) Horizontal and Vertical Database Partitioning.

The eBay architecture uses a server blocking concept. Applications on each server are related to its use case, and a part of the server in Server Pool is specifically used to log in, some servers are specifically used to display product information. After all, different USE CASE access to the database is different, such as "displaying product information" USE case is just read-only operations. And since it is read-only operation, the pressure of the database will be relatively low. I can use only several servers to assume this part of the operation, and more servers are used to read and write more use cases, which reasonably uses server resources. Since different applications are placed on different servers, the copying problem of the user status is involved here. This is the reason why the first eBay requires reasonable use of Server State, as I know, eBay's user status is only rarely saved in session, eBay puts the user's status in the database and cookie.

4, in order to make data access linear expansion

(1) Modify our data access layer

(2) Support Support Well-Defined Data Access Patterns

RELATIONSHIPS AND TRAVERSALS

Local cache and global cache

(3) Customized O-R mapping-domain storage mode

(4) Code Generation of Persistent Objects

(5) Support Lazy Loading

(6) Support FETCH SETS (ShaLLlow / Deep Fetches)

(7) Support Retrieval and Submit (READ / WRITE SETS)

5. In order to make data storage linear expansion, eBay uses the following practices.

(1) Transaction control of commercial logic

Only use bean-managed transactions

Judicious use of XA

Automatic submission of the database

(2) Routing based on content

O-R mapping is used during operation, find the correct data source

Horizontal linear expansion of databases

Failover Hosts Can Be Defined

(3) Data source management

Dynamic

Overt and Heuristic Control of Availability

If the database is down, the application can serve other requests.

6, the technique of strain in the future

(1) Message system

Between the subsystem, loose coupling between the database

J2EE's Message Driven Beans

(2) SOAP

For external developers and partners, balance our platform through available tools and best practices

Use SOAP to standardize communication within the process between the process between eBay applications

Use SOAP to meet our QoS demand

Fourth, apply J2EE's design mode to eBay

Introduced three USE Cases examples, "View Account", "View Product", "eBayApi", introduced these three USE CASE how to implement its design in J2EE design mode. (去)

转载请注明原文地址:https://www.9cbs.com/read-69303.html

New Post(0)