In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly explains "what are the java architecture skills of large websites". Interested friends may wish to take a look. The method introduced in this paper is simple, fast and practical. Next, let the editor take you to learn "what are the java architecture skills of large websites?"
First, write in front
The word "architecture" is a very big proposition, and it is usually difficult to describe it in words. Let's not talk about the word "architecture" first. Let's look at some phenomena first.
1. For developers who really do things, they usually have a similar feeling. Architects usually draw ppt, the code can't be written, and all kinds of ppt drawn can't solve any practical problems.
2. Every time we have a meeting, we will talk about various concepts, but we will not be able to land on the ground.
3. Any technology can boast and talk. If you ask for details and how to achieve them, he doesn't know. He always shows that he doesn't care about details.
4. Always boast yourself in a strategically advantageous position.
Such as the above phenomenon is actually very many, I do not comment too much, can only say that they do not love the software industry, at least the heart is to reject this industry. But I think that a simple technical person should have something to pursue and regard "passing on to karma to solve doubts" as a kind of responsibility, cut open the gorgeous packaging of technology, and restore the truth that technology wants to tell people.
Note: it is not intended to criticize anything.
Second, the reason
Looking back on my technical career over the years, the feeling is still very deep, from Java web development, to big data, to machine learning, and then to deep learning, all because I want to reveal the truth of technology. Also slowly figure out some things, what the program essentially does can be described like this, there is a black box, you give it an input, it gives an output. So there are two ways to get this "black box", hard coding and machine learning, so that you can describe the truth of all the technologies. Program and machine learning, in essence, there is no difference in doing things, but the way to get this black box is different, please see the following picture. Ps: what exactly did big data's technology solve? I also summed up some words from a "cold-eyed" perspective, and then wrote an article later.
The above has gone a little too far, and recently I have turned over Li Zhi's "Technical Architecture of large websites", which is a very concise and intelligent book. Summarize the core elements of a large website. This blog will be combined with this book to write something.
III. Structure
Before we talk about the architecture, let's talk about what is the core problem that the BBG S structure wants to solve. The core problem it wants to solve is the problem of high-speed and accurate reading or writing of data at any time. Around this problem, we have to make some considerations about the design, this kind of design, it should be called architecture. Architecture is a kind of planning at the highest level. once it is planned, it is difficult to change, just like the planning of life.
1. Core requirements
High performance: any time you operate a website, you can respond immediately
High availability: accessible at any time
Scalability: you can expand your business at will without affecting the original business
Scalability: servers can be scaled horizontally or vertically, or scaled down at will
Security: defense against attack
2. Architecture mode
Around the above requirements, what design ideas can we use?
Layering: the idea of layering is actually a very simple design idea in the computer, such as network 7-layer model, 5-layer model, etc., of course, for web systems, view layer, service layer, data layer, this is the most basic layer.
Segmentation: reasonable segmentation of business
Distributed: different businesses, divide and conquer
Cluster: scale out for a single application
Caching: front-end, back-end cache, multi-level cache, etc.
Asynchronous: multi-stage split service, message-driven
Redundancy: web node redundancy, data redundancy, remote disaster recovery, etc.
3. High performance
Metrics: response time, concurrency, throughput (TPS, QPS, HPS)
Web front-end optimization: reduce http requests, use browser caching, compression, reduce cookie transmission, CDN acceleration
Server optimization: distributed caching, async, clustering, code optimization (multithreading, resource reuse, fullgc reduction)
Storage performance: mechanical hard disk, solid state hard disk, indexing technology (B+ tree, LSM)
4. High availability
Highly available applications: stateless service clusters, stateful session service clusters
Highly available services: clustering (hierarchical management, timeout setting, asynchronous invocation, service degradation, idempotent design)
Highly available data: CAP theory, data consistency, data backup (hot and cold backup), failure transfer
5. Scalability
Scalable design: physical separation of different functions and single function cluster
Load balancing
Distributed cache
Data scaling: sub-database, sub-table, master-slave backup
6. Scalability
Event-driven: decoupling through message queues and expanding with event-driven ideas
Service: decoupling and scale-out by means of interface
7. Security
Xss, injection attacks, CSRF
Of course, with deeplearning, you can use the idea of Gan to find the boundaries of attack traffic.
At this point, I believe you have a deeper understanding of "what are the java architecture skills of large websites?" you might as well do it in practice. Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.