CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết trên blog CFSDN này mô tả 10 giai đoạn phát triển website từ nhỏ đến lớn (giải thích chi tiết về kiến trúc website) được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.
Nó đến từ Jianshu, tên gốc không phải là cái này, nhưng cái tên này chắc chắn sẽ phù hợp hơn. Có tổng cộng 10 giai đoạn kể từ khi bắt đầu viết trang web. Tất nhiên, có thể có nhiều giai đoạn hơn ở giai đoạn này, nhưng 10 giai đoạn này là đủ để một công ty phát triển từ một doanh nghiệp vừa và nhỏ. Kiến trúc sư vui lòng bỏ qua nội dung sau....
1. Kiến trúc website ở giai đoạn đầu.
Nói chung, các trang web lớn phát triển từ các trang web nhỏ. Khi bắt đầu, kiến trúc tương đối đơn giản. Khi hoạt động kinh doanh trở nên phức tạp hơn và số lượng người dùng tăng lên, nhiều cải tiến về kiến trúc bắt đầu được thực hiện. Khi là một trang web nhỏ, không có nhiều khách truy cập và nhìn chung chỉ cần một máy chủ là đủ. Lúc này, tất cả các tài nguyên như ứng dụng, cơ sở dữ liệu, tệp, v.v. đều nằm trên một máy chủ.

2. Tách biệt dịch vụ ứng dụng và dịch vụ dữ liệu.
Khi hoạt động kinh doanh trang web phát triển và số lượng người dùng tăng lên, một máy chủ không còn có thể đáp ứng được nhu cầu. Một lượng lớn người dùng truy cập vào hệ thống dẫn đến tốc độ truy cập ngày càng chậm, dữ liệu tăng dần cũng sẽ dẫn đến không đủ dung lượng lưu trữ. Lúc này, cần tách riêng ứng dụng và dữ liệu. Sau khi tách ứng dụng và dữ liệu, toàn bộ trang web sử dụng ba máy chủ: máy chủ ứng dụng, máy chủ tệp và máy chủ cơ sở dữ liệu. 3 máy chủ này có yêu cầu khác nhau về tài nguyên phần cứng:
Logic nghiệp vụ của máy chủ ứng dụng yêu cầu CPU mạnh mẽ.
Máy chủ cơ sở dữ liệu thực hiện nhiều thao tác đọc và ghi đĩa và yêu cầu đĩa nhanh hơn và bộ nhớ lớn hơn.
Máy chủ tệp lưu trữ các tệp do người dùng tải lên và do đó yêu cầu dung lượng ổ đĩa lớn hơn.

3. Sử dụng bộ nhớ đệm để cải thiện hiệu suất trang web.
Khi số lượng người dùng tăng lên, trang web sẽ lại phải đối mặt với những thách thức: quá nhiều áp lực lên cơ sở dữ liệu sẽ khiến hiệu quả truy cập của toàn bộ trang web tiếp tục giảm và trải nghiệm của người dùng sẽ bị ảnh hưởng. Đối với một trang web, 80% lượt truy cập của doanh nghiệp thường tập trung vào 20% dữ liệu. Ví dụ: các bài đăng trên weibo được yêu cầu nhiều nhất là của các V lớn với hàng chục triệu người hâm mộ, trong khi hầu như không ai chú ý đến trang chủ của bạn ngoại trừ. chính bạn. Nó sẽ không được mở ra trừ khi tôi nghĩ về nó. Vì hầu hết quyền truy cập của doanh nghiệp đều tập trung vào một phần nhỏ dữ liệu nên phần dữ liệu nhỏ này phải được lưu vào bộ nhớ trước thay vì đọc nó từ cơ sở dữ liệu mỗi lần. Điều này có thể làm giảm áp lực truy cập lên cơ sở dữ liệu và cải thiện tổng thể. tốc độ truy cập trang web.
Bộ đệm được trang web sử dụng thường được chia thành bộ đệm trên máy chủ ứng dụng hoặc bộ đệm trên máy chủ bộ đệm được phân phối chuyên dụng. Bản thân bộ nhớ đệm vào máy chủ ứng dụng nhanh hơn nhiều, nhưng do hạn chế về bộ nhớ của chính nó nên nó thường không phù hợp. Bộ đệm được phân phối từ xa sử dụng một cụm để chịu trách nhiệm về các dịch vụ bộ đệm. Khi bộ nhớ không đủ, nó có thể dễ dàng mở rộng một cách linh hoạt.

4. Sử dụng cụm máy chủ ứng dụng để nâng cao khả năng xử lý đồng thời của website.
Sau khi sử dụng bộ đệm, áp lực truy cập dữ liệu đã giảm bớt, nhưng số lượng kết nối yêu cầu mà một máy chủ ứng dụng có thể xử lý bị hạn chế. Trong thời gian truy cập trang web cao điểm, máy chủ ứng dụng sẽ trở thành điểm nghẽn hiệu quả của toàn bộ trang web. Việc sử dụng các cụm phân tán là một phương tiện phổ biến để các trang web giải quyết các vấn đề về dữ liệu lớn và tính đồng thời cao. Khi sức mạnh xử lý và dung lượng lưu trữ của máy chủ không đủ, đừng cố thay thế nó bằng một máy chủ mạnh hơn. Đối với các trang web lớn, dù máy chủ có mạnh đến đâu cũng không thể đáp ứng nhu cầu kinh doanh ngày càng tăng của trang web. Trong trường hợp này, cách tiếp cận phù hợp hơn là thêm một máy chủ để chia sẻ áp lực truy cập và lưu trữ của máy chủ gốc. Đối với kiến trúc trang web, miễn là có thể cải thiện áp lực tải bằng cách thêm máy chủ, bạn có thể tiếp tục thêm máy chủ theo cách tương tự để liên tục cải thiện hiệu suất hệ thống, từ đó đạt được khả năng mở rộng hệ thống. Triển khai cụm máy chủ ứng dụng là một kiểu thiết kế kiến trúc có thể mở rộng trang web tương đối đơn giản và hoàn thiện, như thể hiện trong hình sau:

Thông qua máy chủ lập kế hoạch cân bằng tải, các yêu cầu truy cập từ trình duyệt của người dùng có thể được phân phối đến bất kỳ máy chủ nào trong cụm máy chủ ứng dụng. Nếu có nhiều người dùng hơn, nhiều máy chủ ứng dụng sẽ được thêm vào cụm để giảm áp lực cho máy chủ ứng dụng. còn trở thành điểm nghẽn của toàn bộ trang web.
5. Tách biệt việc đọc và ghi cơ sở dữ liệu.
Sau khi trang web sử dụng bộ nhớ đệm, hầu hết các thao tác đọc dữ liệu có thể được hoàn thành mà không cần thông qua cơ sở dữ liệu. Tuy nhiên, vẫn có một số thao tác đọc (truy cập bộ đệm bị lỗi, hết hạn bộ nhớ đệm) và tất cả các thao tác ghi yêu cầu quyền truy cập vào cơ sở dữ liệu. website Sau khi số lượng người dùng đạt đến một quy mô nhất định, cơ sở dữ liệu trở thành điểm nghẽn của website do áp lực tải quá mức. Hiện tại, hầu hết các cơ sở dữ liệu chính thống đều cung cấp chức năng dự phòng nóng master-slave. Bằng cách định cấu hình mối quan hệ master-slave giữa hai cơ sở dữ liệu, các bản cập nhật dữ liệu của một máy chủ cơ sở dữ liệu có thể được đồng bộ hóa với máy chủ kia. Trang web sử dụng chức năng này của cơ sở dữ liệu để thực hiện việc tách biệt giữa đọc và ghi cơ sở dữ liệu, từ đó cải thiện áp lực tải cơ sở dữ liệu. Như được hiển thị bên dưới:
Khi máy chủ ứng dụng ghi dữ liệu, nó sẽ truy cập cơ sở dữ liệu chính và cơ sở dữ liệu chính sẽ đồng bộ hóa các cập nhật dữ liệu với cơ sở dữ liệu phụ thông qua cơ chế sao chép chính-phụ. Bằng cách này, khi máy chủ ứng dụng đọc dữ liệu, nó có thể lấy dữ liệu thông qua cơ sở dữ liệu. cơ sở dữ liệu nô lệ. Để tạo điều kiện thuận lợi cho các chương trình ứng dụng truy cập vào cơ sở dữ liệu được phân tách đọc-ghi, một mô-đun truy cập dữ liệu đặc biệt thường được sử dụng trên máy chủ ứng dụng để làm cho việc phân tách đọc-ghi cơ sở dữ liệu trở nên trong suốt đối với ứng dụng.

6. Sử dụng proxy ngược và CDN để tăng tốc độ phản hồi của trang web.
Khi hoạt động kinh doanh trang web tiếp tục phát triển, số lượng người dùng ngày càng lớn hơn. Do môi trường mạng phức tạp của Trung Quốc, tốc độ người dùng từ các khu vực khác nhau truy cập trang web cũng rất khác nhau. Các nghiên cứu đã chỉ ra rằng độ trễ truy cập trang web có mối tương quan thuận với tỷ lệ người dùng truy cập trang web càng chậm thì người dùng càng dễ mất kiên nhẫn và rời đi. Để cung cấp trải nghiệm người dùng tốt hơn và giữ chân người dùng, các trang web cần tăng tốc độ truy cập trang web. Các phương pháp chính là sử dụng CDN và proxy ngược. Như được hiển thị bên dưới:

7. Sử dụng hệ thống tệp phân tán và hệ thống cơ sở dữ liệu phân tán.
Không có máy chủ mạnh mẽ nào có thể đáp ứng nhu cầu kinh doanh ngày càng tăng của các trang web lớn. Sau khi cơ sở dữ liệu được tách khỏi việc đọc và ghi, nó được chia từ một máy chủ thành hai máy chủ. Tuy nhiên, khi hoạt động kinh doanh trang web phát triển, nó vẫn không thể đáp ứng được nhu cầu. Lúc này, cần có một cơ sở dữ liệu phân tán. Điều tương tự cũng xảy ra với hệ thống tệp, yêu cầu sử dụng hệ thống tệp phân tán. Như được hiển thị bên dưới:

Cơ sở dữ liệu phân tán là giải pháp cuối cùng để phân chia cơ sở dữ liệu trang web và chỉ được sử dụng khi quy mô của dữ liệu bảng đơn rất lớn. Phương án cuối cùng, phương pháp phân chia cơ sở dữ liệu được sử dụng phổ biến hơn cho các trang web là cơ sở dữ liệu phụ doanh nghiệp, phương pháp này triển khai dữ liệu của các doanh nghiệp khác nhau trên các máy chủ vật lý khác nhau.
8. Sử dụng NoSQL và công cụ tìm kiếm.
Khi hoạt động kinh doanh trang web ngày càng phức tạp, các yêu cầu về lưu trữ và truy xuất dữ liệu cũng ngày càng phức tạp. Trang web cần áp dụng một số công nghệ cơ sở dữ liệu phi quan hệ như NoSQL và các công nghệ truy vấn phi cơ sở dữ liệu như công cụ tìm kiếm. Như được hiển thị bên dưới:

NoSQL và các công cụ tìm kiếm đều là những phương tiện kỹ thuật bắt nguồn từ Internet và có khả năng hỗ trợ tốt hơn cho các tính năng phân tán có thể mở rộng. Máy chủ ứng dụng truy cập nhiều dữ liệu khác nhau thông qua một mô-đun truy cập dữ liệu thống nhất, giúp ứng dụng giảm bớt rắc rối khi quản lý nhiều nguồn dữ liệu.
9. Chia tách kinh doanh.
Để đối phó với các tình huống kinh doanh ngày càng phức tạp, các trang web lớn sử dụng phương pháp phân chia và chinh phục để chia toàn bộ hoạt động kinh doanh trang web thành các dòng sản phẩm khác nhau. Ví dụ: các website giao dịch mua sắm lớn sẽ chia trang chủ, cửa hàng, đơn hàng, người mua, người bán,… thành các dòng sản phẩm khác nhau, được phân cho các nhóm kinh doanh khác nhau.
Riêng về công nghệ, một website sẽ được chia thành nhiều ứng dụng khác nhau tùy theo dòng sản phẩm và mỗi ứng dụng sẽ được triển khai độc lập. Các ứng dụng có thể thiết lập mối quan hệ thông qua một siêu liên kết (các liên kết điều hướng trên trang chủ dẫn đến một địa chỉ ứng dụng khác nhau) hoặc chúng có thể phân phối dữ liệu qua hàng đợi tin nhắn. Tất nhiên, cách phổ biến nhất là hình thành mối quan hệ bằng cách truy cập cùng một dữ liệu. Hệ thống lưu trữ hoàn chỉnh được hiển thị bên dưới:

10. Dịch vụ phân phối.
Khi các bộ phận kinh doanh ngày càng nhỏ hơn, hệ thống lưu trữ ngày càng lớn hơn, độ phức tạp tổng thể của hệ thống ứng dụng tăng theo cấp số nhân và việc triển khai cũng như bảo trì ngày càng khó khăn. Vì tất cả các ứng dụng đều cần kết nối với tất cả các hệ thống cơ sở dữ liệu nên trong một trang web có hàng chục nghìn máy chủ, số lượng kết nối này bằng bình phương kích thước của máy chủ, dẫn đến không đủ tài nguyên kết nối cơ sở dữ liệu và bị từ chối dịch vụ.
Vì mỗi hệ thống ứng dụng cần thực hiện nhiều hoạt động kinh doanh giống nhau, chẳng hạn như quản lý người dùng, quản lý sản phẩm, v.v., nên các hoạt động kinh doanh chung này có thể được trích xuất và triển khai độc lập. Các doanh nghiệp có thể tái sử dụng này kết nối với cơ sở dữ liệu để cung cấp các dịch vụ kinh doanh chung và hệ thống ứng dụng chỉ cần quản lý giao diện người dùng và gọi các dịch vụ kinh doanh chung thông qua các dịch vụ phân tán để hoàn thành các hoạt động kinh doanh cụ thể. Như được hiển thị bên dưới:

Địa chỉ gốc: http://www.iamlintao.com/7076.html.
Cuối cùng, bài viết về 10 giai đoạn phát triển trang web từ nhỏ đến lớn (giải thích chi tiết về kiến trúc trang web) kết thúc tại đây. Nếu bạn muốn biết thêm về 10 giai đoạn phát triển trang web từ nhỏ đến lớn (giải thích chi tiết về kiến trúc trang web) Dành cho. nội dung, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!