Large Website Architecture Series: 20 Technical Book Recommendations

Learning is the basis for the growth of technical personnel. This time I will share 20 books on technology. Not all of these books are classics, but each has its own characteristics. Most of the following 20 books have been read by me, so I recommend them to everyone. (The 20 recommended books this time are just a reference. For example, classic books such as Head First and Java programming ideas are known to everyone, so they are not recommended)

This sharing outline

  1. Large Website Architecture Series
  2. Distributed System Series
  3. BAT Technical Literature Series
  4. Architecture Design Series
  5. Summary of this sharing

1. Large-scale website architecture series

The first book: "Technical Architecture of Large Websites: Core Principles and Case Analysis"

This is a classic work of large-scale website architecture in China. It was created by Li Zhihui, a native of Ali. You can tell from the name that this book is very wise. It mainly starts from the characteristics of large-scale website architecture, the basic theory of architecture goals (high performance, high availability, scalability, etc.), and introduces several very distinctive cases.

Most of the basic theories of the large-scale website architecture series shared in the group come from this book. 

 

The second book: "Large Website System and Java Middleware Practice"

Also from Ali's technical experts. This book provides a good introduction to the evolution of distributed systems. In-depth explanation of common middleware (service framework, data access layer, message middleware). (principle to practice) 

The third book: "Large-scale Distributed Website Architecture Design and Practice", I'm sorry that this book is also from the Ali department.

He gave a good explanation of service-oriented architecture, distributed infrastructure (cache, persistence, message system, search engine (lucence, solr)), Internet security architecture, system stability, data analysis, etc.

The above three books are all from the Ali Department. They have theory and practice. If you want to learn knowledge, you need to read more, think more, and practice more. For example, the first book, I have read it at least 5 times. The other two days are also about three times.

 

The fourth book: "Web Information Architecture - Designing Large Websites"

The idea of ​​website information architecture design can be established systematically. It is helpful to think about how to design a large website.

Information architecture, pay attention to the knowledge involved in these few words.

 

The fifth book: "High-performance website construction", has done a very good explanation of the web front-end architecture.

Note that the front end here is not just JS, CSS, HTML, but the part before the business logic layer. Including caching, DNS, etc.

 

The sixth book: "Practical Load Balancing Technology: Website Performance Optimization Strategy", this book introduces the knowledge of load balancing, caching proxy and other knowledge in detail, which is helpful for the system to understand load balancing technology.

 

The seventh book: "High-performance e-commerce platform construction: architecture, design and development", this book can be used as a reference for functional architecture, because it is about the architecture of an open source mall in China. On the one hand, the author may be promoting his open source mall, so it is recommended that beginners or those who want to understand this open source system learn. It is not recommended for everyone to study.

 

The eighth book "Construction of High-Performance Websites" is recommended for operation and maintenance personnel to refer to. It introduces LVS+KeepAlived to achieve high-availability cluster, high-performance load balancer HAProxy, enduring Squid, high-performance cache server Varnish, Ngnix, etc. There are a large number of installation scripts in it, so it is recommended for operation and maintenance or reference learning to learn how to deploy.

 

Above are the eight shared books on large-scale website architecture.

2. Distributed system series

The first book: "From Paxos to Zookeeper: Principles and Practice of Distributed Consistency", this book is recommended by Teacher Leader-us. Helpful for understanding distributed and Zookeeper. The content includes consensus protocol, 2PC, 3PC, Paxos algorithm, engineering practice of Paxos, installation and use of Zookeeper, typical application scenarios of ZooKeeper, etc. This book is also from the Ali Department.

 

The second book: "ZeroC Ice Authoritative Guide", the author is Mr. Leader-us, an S-level senior architect in our group.

Very helpful for learning Zeroc Ice. Zeroc Ice is a set of frameworks similar to dubbo. RPC and service governance can be implemented.

For more ZeroC Ice knowledge, you can consult Leader-us.

 

The third book: "Kubernetes Authoritative Guide: From Docker to Kubernetes Practice" is a good book to introduce Docker and Kubernetes. The author also has our Leader-us teacher.

 

The fourth book: "Large-scale Distributed Storage System: Principle Analysis and Architecture Practice" is helpful to understand distributed storage.

From stand-alone storage to distributed storage, transactions, concurrency control, etc. It has a good introduction to the commonly used distributed storage systems, key-value systems, table systems, distributed databases, etc. There are both theory and practice. If you don't actually think about it and do it, you can classify it as a theory.

 

Distributed systems and big data will not be introduced this time. Those who are interested can consult in the group.

3. BAT technology series

Three technical literature books are recommended. The first is "Taobao Technology This Decade", the second is "Jingdong Technology Decryption", and the third is "Huawei Research and Development"

The first book: There is an electronic version in the "Taobao Technology This Decade" group, and I have read it at least three times. It vividly introduces the technological development process of Taobao from small to large. It is good for thinking about the development of technology

 

The second book: "Jingdong Technology Decryption", it can be used as a reference. I bought a copy, but I haven't read it in detail. Overall, "Taobao Technology This Decade" is better in quality and content.

 

The third "Huawei R&D" I read a few years ago was the first edition, and now it's the second edition. This book has a certain understanding of Huawei's technology development and management changes, so as to guide myself to make some improvements in technology management.

 

Interlude: Talk about the perspective of technology and management in personal development.

People have been working for ten years, and they have worked in technology and management for a few years. In personal experience, there are some different views on technology and management.

First of all, after working in technology for a few years, I found that I wanted to be management, and after doing management, I found that I wanted to be technology. After thinking about it, I found that I have insufficient knowledge of technology and management, and I have not mastered the knowledge properly.

For example, if the technology cannot be improved to the architect level, it can only be code. In this way, the salary will not increase year by year, and the end will be basically seen.

Therefore, technology must be done at the architect level. (Maybe it's a bit slow), but personal recent insights. Only by reaching the architectural level and thinking about technical issues from a certain height can we not be eliminated.

Leader-us<[email protected]> 20:18:01

Focus on technology, and at the same time cultivate technical leadership skills. The more experienced you are, the more you need to cultivate popularity in the IT circle, participate in open source or acquire many technologies

 

So, after I did management, I moved to technology. Now you have a basic understanding of how to be an architect.

At this time, it is found that management should be done.

Ha ha~~ Because the personal development model is the development of technology + management model. The following is a knowledge reference for growth in architecture and management.

Architecture: object-oriented, design patterns, architecture patterns, distributed systems, business architecture (common system architecture), specific technical breadth and depth, etc.;

Management aspects: project management (PMP, PRINCE2), agile management, process specification (CMMI, etc.), general management knowledge, etc.

4. Architecture Design Series

The first book: "Grinding Design Patterns", this book explains the GOF design pattern in detail.

Design patterns are more detailed and thorough. Legend has it that there are videos of the author of grinding design patterns online. Something to share.

This is the first book I recommend for a detailed study of design patterns.

Not to mention things like HeadFirst.

You can also look at the big talk design pattern, but you can get started, but you need to look at other things for in-depth research.

 

The second book: A few days ago, I recommended "Object-Oriented Sunflower Collection", which is helpful for understanding object-oriented thinking. The object-oriented understanding has been described in place.

 

The third book: ".NET Application Architecture Design: Principles, Patterns and Practice", but this is written by NET. The commonly used architectural patterns are introduced. Such as N-layer design, business layer design, logic layer design, service layer design, data layer design, etc. It is a good help to understand the design method of each layer. I have read this book at least three times.

For example, there is an idempotent mode in service design, which is used for a long time in distributed systems.

 

The fourth book: "Microsoft .NET Enterprise Application Architecture Design", which corresponds to "NET Application Architecture Design: Principles, Patterns and Practices" is that this book is also an architecture of architecture patterns from the business layer, service layer, and so on. The way of explaining is a little different. Although it is in NET language, it is helpful for Java or other languages. For example: if someone says MVC is a design pattern, you know that MVC is an architectural pattern.

 

The fifth book: Finally, I will share with you a book on architecture. The reason is that the accumulation of technology will become a class library, and the class library will gradually become a framework. The ability of a person's architectural design is largely reflected in the framework design. So the final book is Architectural Adventures: Writing a Java Web Framework from Scratch

This book starts from scratch and introduces how to build a web framework. bean implementation, aop implementation, etc. I personally read this book twice, and I feel that it is helpful to design frameworks and encapsulation modules.

V. Summary of this sharing

The above is the sharing of this week. The original plan was to share the message queue technology, but considering that it may be more helpful to you if you can share some books, it was also promised to some group friends before, and it was the first time to share in 2016, so it was temporarily changed. For sharing technical books. I hope it will be helpful to everyone. Most of the books shared are personally read, and may not be the best, but each one has its bright spots. This time I share it for everyone to learn and reference.

Finally, I once again recommend that everyone buy paper books, 1. It is good for the eyes; 2. Respects intellectual property rights.

Large-scale website architecture exchange (architecture house) QQ group one 466097527 (full) group two 464527023 (full) group three 612849302 (can be added); WeChat public account: itfly8. An interest group centered on architecture, focusing on large-scale distributed website architecture, big data, architectural patterns, and design patterns. Technology sharing, classic e-book sharing, welcome to join!

Learning is the basis for the growth of technical personnel. This time I will share 20 books on technology. Not all of these books are classics, but each has its own characteristics. Most of the following 20 books have been read by me, so I recommend them to everyone. (The 20 recommended books this time are just a reference. For example, classic books such as Head First and Java programming ideas are known to everyone, so they are not recommended)

This sharing outline

  1. Large Website Architecture Series
  2. Distributed System Series
  3. BAT Technical Literature Series
  4. Architecture Design Series
  5. Summary of this sharing

1. Large-scale website architecture series

The first book: "Technical Architecture of Large Websites: Core Principles and Case Analysis"

This is a classic work of large-scale website architecture in China. It was created by Li Zhihui, a native of Ali. You can tell from the name that this book is very wise. It mainly starts from the characteristics of large-scale website architecture, the basic theory of architecture goals (high performance, high availability, scalability, etc.), and introduces several very distinctive cases.

Most of the basic theories of the large-scale website architecture series shared in the group come from this book. 

 

The second book: "Large Website System and Java Middleware Practice"

Also from Ali's technical experts. This book provides a good introduction to the evolution of distributed systems. In-depth explanation of common middleware (service framework, data access layer, message middleware). (principle to practice) 

The third book: "Large-scale Distributed Website Architecture Design and Practice", I'm sorry that this book is also from the Ali department.

He gave a good explanation of service-oriented architecture, distributed infrastructure (cache, persistence, message system, search engine (lucence, solr)), Internet security architecture, system stability, data analysis, etc.

The above three books are all from the Ali Department. They have theory and practice. If you want to learn knowledge, you need to read more, think more, and practice more. For example, the first book, I have read it at least 5 times. The other two days are also about three times.

 

The fourth book: "Web Information Architecture - Designing Large Websites"

The idea of ​​website information architecture design can be established systematically. It is helpful to think about how to design a large website.

Information architecture, pay attention to the knowledge involved in these few words.

 

The fifth book: "High-performance website construction", has done a very good explanation of the web front-end architecture.

Note that the front end here is not just JS, CSS, HTML, but the part before the business logic layer. Including caching, DNS, etc.

 

The sixth book: "Practical Load Balancing Technology: Website Performance Optimization Strategy", this book introduces the knowledge of load balancing, caching proxy and other knowledge in detail, which is helpful for the system to understand load balancing technology.

 

The seventh book: "High-performance e-commerce platform construction: architecture, design and development", this book can be used as a reference for functional architecture, because it is about the architecture of an open source mall in China. On the one hand, the author may be promoting his open source mall, so it is recommended that beginners or those who want to understand this open source system learn. It is not recommended for everyone to study.

 

The eighth book "Construction of High-Performance Websites" is recommended for operation and maintenance personnel to refer to. It introduces LVS+KeepAlived to achieve high-availability cluster, high-performance load balancer HAProxy, enduring Squid, high-performance cache server Varnish, Ngnix, etc. There are a large number of installation scripts in it, so it is recommended for operation and maintenance or reference learning to learn how to deploy.

 

Above are the eight shared books on large-scale website architecture.

2. Distributed system series

The first book: "From Paxos to Zookeeper: Principles and Practice of Distributed Consistency", this book is recommended by Teacher Leader-us. Helpful for understanding distributed and Zookeeper. The content includes consensus protocol, 2PC, 3PC, Paxos algorithm, engineering practice of Paxos, installation and use of Zookeeper, typical application scenarios of ZooKeeper, etc. This book is also from the Ali Department.

 

The second book: "ZeroC Ice Authoritative Guide", the author is Mr. Leader-us, an S-level senior architect in our group.

Very helpful for learning Zeroc Ice. Zeroc Ice is a set of frameworks similar to dubbo. RPC and service governance can be implemented.

For more ZeroC Ice knowledge, you can consult Leader-us.

 

The third book: "Kubernetes Authoritative Guide: From Docker to Kubernetes Practice" is a good book to introduce Docker and Kubernetes. The author also has our Leader-us teacher.

 

The fourth book: "Large-scale Distributed Storage System: Principle Analysis and Architecture Practice" is helpful to understand distributed storage.

From stand-alone storage to distributed storage, transactions, concurrency control, etc. It has a good introduction to the commonly used distributed storage systems, key-value systems, table systems, distributed databases, etc. There are both theory and practice. If you don't actually think about it and do it, you can classify it as a theory.

 

Distributed systems and big data will not be introduced this time. Those who are interested can consult in the group.

3. BAT technology series

Three technical literature books are recommended. The first is "Taobao Technology This Decade", the second is "Jingdong Technology Decryption", and the third is "Huawei Research and Development"

The first book: There is an electronic version in the "Taobao Technology This Decade" group, and I have read it at least three times. It vividly introduces the technological development process of Taobao from small to large. It is good for thinking about the development of technology

 

The second book: "Jingdong Technology Decryption", it can be used as a reference. I bought a copy, but I haven't read it in detail. Overall, "Taobao Technology This Decade" is better in quality and content.

 

The third "Huawei R&D" I read a few years ago was the first edition, and now it's the second edition. This book has a certain understanding of Huawei's technology development and management changes, so as to guide myself to make some improvements in technology management.

 

Interlude: Talk about the perspective of technology and management in personal development.

People have been working for ten years, and they have worked in technology and management for a few years. In personal experience, there are some different views on technology and management.

First of all, after working in technology for a few years, I found that I wanted to be management, and after doing management, I found that I wanted to be technology. After thinking about it, I found that I have insufficient knowledge of technology and management, and I have not mastered the knowledge properly.

For example, if the technology cannot be improved to the architect level, it can only be code. In this way, the salary will not increase year by year, and the end will be basically seen.

Therefore, technology must be done at the architect level. (Maybe it's a bit slow), but personal recent insights. Only by reaching the architectural level and thinking about technical issues from a certain height can we not be eliminated.

Leader-us<[email protected]> 20:18:01

Focus on technology, and at the same time cultivate technical leadership skills. The more experienced you are, the more you need to cultivate popularity in the IT circle, participate in open source or acquire many technologies

 

So, after I did management, I moved to technology. Now you have a basic understanding of how to be an architect.

At this time, it is found that management should be done.

Ha ha~~ Because the personal development model is the development of technology + management model. The following is a knowledge reference for growth in architecture and management.

Architecture: object-oriented, design patterns, architecture patterns, distributed systems, business architecture (common system architecture), specific technical breadth and depth, etc.;

Management aspects: project management (PMP, PRINCE2), agile management, process specification (CMMI, etc.), general management knowledge, etc.

4. Architecture Design Series

The first book: "Grinding Design Patterns", this book explains the GOF design pattern in detail.

Design patterns are more detailed and thorough. Legend has it that there are videos of the author of grinding design patterns online. Something to share.

This is the first book I recommend for a detailed study of design patterns.

Not to mention things like HeadFirst.

You can also look at the big talk design pattern, but you can get started, but you need to look at other things for in-depth research.

 

The second book: A few days ago, I recommended "Object-Oriented Sunflower Collection", which is helpful for understanding object-oriented thinking. The object-oriented understanding has been described in place.

 

The third book: ".NET Application Architecture Design: Principles, Patterns and Practice", but this is written by NET. The commonly used architectural patterns are introduced. Such as N-layer design, business layer design, logic layer design, service layer design, data layer design, etc. It is a good help to understand the design method of each layer. I have read this book at least three times.

For example, there is an idempotent mode in service design, which is used for a long time in distributed systems.

 

The fourth book: "Microsoft .NET Enterprise Application Architecture Design", which corresponds to "NET Application Architecture Design: Principles, Patterns and Practices" is that this book is also an architecture of architecture patterns from the business layer, service layer, and so on. The way of explaining is a little different. Although it is in NET language, it is helpful for Java or other languages. For example: if someone says MVC is a design pattern, you know that MVC is an architectural pattern.

 

The fifth book: Finally, I will share with you a book on architecture. The reason is that the accumulation of technology will become a class library, and the class library will gradually become a framework. The ability of a person's architectural design is largely reflected in the framework design. So the final book is Architectural Adventures: Writing a Java Web Framework from Scratch

This book starts from scratch and introduces how to build a web framework. bean implementation, aop implementation, etc. I personally read this book twice, and I feel that it is helpful to design frameworks and encapsulation modules.

V. Summary of this sharing

The above is the sharing of this week. The original plan was to share the message queue technology, but considering that it may be more helpful to you if you can share some books, it was also promised to some group friends before, and it was the first time to share in 2016, so it was temporarily changed. For sharing technical books. I hope it will be helpful to everyone. Most of the books shared are personally read, and may not be the best, but each one has its bright spots. This time I share it for everyone to learn and reference.

Finally, I once again recommend that everyone buy paper books, 1. It is good for the eyes; 2. Respects intellectual property rights.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325173011&siteId=291194637