The Bad News: Cơ sở mã nguồn mở cốt lõi của Wordpress đưa ra khá nhiều giả định về việc được chạy trên một máy chủ (nội dung wp, tải lên của người dùng và thư viện phương tiện để đặt tên cho một số)
Tin tốt: Khá nhiều nhà cung cấp đám mây (bao gồm Azure) có những khái niệm trừu tượng cho phép bạn khắc phục những hạn chế thiết kế này.
Về cơ bản, bạn sẽ giải quyết các mối quan tâm sau:
- Tải cân bằng lưu lượng giữa hai (hoặc nhiều hơn) máy chủ web / ứng dụng Wordpress "mặt trước". Không quá khó vì Wordpress không trạng thái RẤT NHIỀU trừ khi bạn cho phép người dùng đăng nhập vào trang web. Điều này được thực hiện thông qua sự kết hợp của DNS và Load Balancer. Bạn sẽ cần hỗ trợ 2 IP cho các máy chủ ứng dụng của mình - 1 bộ sẽ kết nối với mạng con có thể định tuyến qua Internet (mặc dù hy vọng được bảo vệ bởi tường lửa không được nêu bên dưới) và hai bộ kia sẽ nằm trên mạng con KHÁC BIỆT được cách ly mạng khác và chứa Trường hợp Máy chủ Cơ sở dữ liệu nhưng phác thảo cơ bản là như sau:
/ - (10.0.0.1 - eth0) wp1.domain.com (10.0.1.1 - eth2)
(IP công cộng) wp.domain.com
\ - (10.0.0.2 - eth1) wp2.domain.com (10.0.1.2 - eth3)
Quản lý phiên NẾU bạn đang cho phép người dùng đăng nhập vào trang web. Nếu vậy, bạn sẽ cần đảm bảo khi họ đăng nhập vào máy chủ 1 rằng tất cả các yêu cầu trong tương lai của họ sẽ được chuyển đến máy chủ đó (phiên dính) hoặc không quan trọng họ truy cập máy chủ nào vì các phiên được quản lý thông qua một số cơ chế khác (thông qua phân cụm phiên máy chủ Zend chẳng hạn).
Quản lý thông tin đăng nhập quản trị NẾU bạn cho phép một số người dùng đăng nhập vào back-end để quản lý nội dung (tương tự như trên).
Chọn hệ thống DB cũng có sẵn cao. Không có điểm nào có hai máy chủ ngoại vi nếu sự cố DB của bạn làm hỏng toàn bộ hệ thống. Bạn sẽ cần tận dụng bản sao MySQL Master / Slave thông qua ClearDB hoặc sửa đổi WordPress thông qua plugin để tận dụng SQL Server để bạn có thể sử dụng các hệ thống phân cụm riêng của nó . Điều này có nghĩa là bạn cần ít nhất 4 VM nếu bạn muốn tự mình quản lý lớp DB (2 x Ứng dụng & 2 x DB). Đây là cách nó có thể trông:
/ - wp1.domain.com (10.0.1.1) \ --- / (10.0.1.3) db1.domain.com (10.0.2.3) \
wp.domain.com X |
\ - wp2.domain.com (10.0.1.2) / --- \ (10.0.1.4) db2.domain.com (10.0.2.3) /
LƯU Ý - để đảm bảo chuyển đổi dự phòng đáng tin cậy và bảo vệ tính bảo mật của hệ thống, mạng con THIRD thường được sử dụng để kết nối hai nút cơ sở dữ liệu với nhau thông qua một kênh riêng được tách ra khỏi các mạng truyền thông khác mà máy chủ ứng dụng sử dụng để nói chuyện cơ sở dữ liệu và các máy chủ ứng dụng sử dụng để liên lạc với thế giới bên ngoài.
Kích hoạt kết nối nhóm để tối đa hóa hiệu suất và độ tin cậy của các kết nối cơ sở dữ liệu của máy chủ ứng dụng của bạn.
Tận dụng plugin Bộ đệm như W3 Total Cache hoặc Super Cache để giảm thiểu tải trên các máy chủ ngoại vi.
Các hướng dẫn sau đây cung cấp chi tiết cụ thể về cách bạn có thể giải quyết từng thách thức nêu trên. Có một số cách để xử lý từng trong Azure, do đó, tùy thuộc vào bạn quyết định cách bạn muốn tấn công từng thách thức sau đó xử lý các ràng buộc mà mỗi lựa chọn đó áp đặt khi bạn làm việc lên và xuống ngăn xếp.