I first share at the time of the geeks

No. article first appeared in public  preserved egg blackboard

Author worked Jingdong, guarantee stability, agile, advanced JAVA, micro-architecture in-depth understanding of service

 

At that time I will own article submission to InfoQ, then editor Kwok-mail inviting me to share, so with this memorable speech. Welcome friends to go watch the geek time App.

Theme: How effective use of resources to promote large flow withstood 618

Probably reads as follows:

Performance Testing

Performance Optimization

Optimization may include upgraded hardware configuration such as the use of Tomcat Supported NIO version instead of the low, horizontal expansion cluster, the cluster removal of short board.

Software optimizations include code review and optimization of SQL and low performance of the code.

Extension point

First, the basics of language development

Data structure differences between the various collections, including the applicable scene, CRUD complexity, thread safety, orderly, rapid failure characteristics.

Among four concurrent design patterns, including the Future mode, Master-Slave mode, pause mode protection, immutable patterns, consumer production mode.

IO among the zero-copy technique, serialization and deserialization.

Memory management memory model, garbage collection policy.

Use connection pooling to reduce the cost of management.

Second, the program design

SOLID principles, in particular the principle of single responsibility, the principle of opening and closing, Richter substitution principle, the principle of the interface isolation, dependency inversion principle.

Design patterns, a common singleton pattern, plant pattern, strategy pattern, chain of responsibility pattern.

Interface design, such as a combination of reference patterns to reduce excessive overloading.

Avoid over-design, not too early to focus on security, configurability, scalability, maintainability, inheritable.

Third, database

Good understanding of indexes and locks.

Fourth, the middleware

Make good use of the cache, but pay attention to the consistency of source data caching and synchronization.

The good news engine use, but be careful idempotency, ordering, data redundancy, replication problems.

Fifth, stratified

Good understanding of domain-driven design, bounded by business context, eliminate hidden data dependent, dependent on a well-defined direction.

Sixth, high availability

Service degradation, limiting the service, depending on the fuse, queues, and timeout retry mechanism, data consistency.

 

Source: www.liangsonghua.me

Author: Jingdong Senior Engineer - Liang Songhua, in-depth understanding of the stability of security, agile development, JAVA advanced, micro-service architecture 

 

 

Guess you like

Origin www.cnblogs.com/liangsonghua/p/www_liangsonghua_me_17.html