Navi+ giữ menu luôn hoạt động thế nào — tuỳ chọn “Use a second CDN (BunnyCDN)”
Menu của bạn không nằm trong theme. Mỗi lần trang tải, trình duyệt lấy vài file nhỏ từ Navi+ — bộ máy vẽ menu, style của nó và dữ liệu menu. Các file này đến từ đâu quyết định menu có hiện hay không, và nhanh hay chậm. Trang này giải thích cơ chế phân phối đó, cách nó được bảo vệ trước sự cố, và ô Use a second CDN (BunnyCDN) trong app embed của Shopify thay đổi điều gì.
Hai mạng, một menu
Navi+ phân phối file menu qua mạng phân phối nội dung (CDN): một hệ thống máy chủ đặt khắp thế giới, cùng giữ bản sao của các file, để mỗi khách được phục vụ từ vị trí gần họ nhất.
Để chắc chắn sự cố ở một mạng không bao giờ làm menu của bạn biến mất, cùng bộ file đó được giữ trên hai mạng độc lập, do hai nhà cung cấp khác nhau vận hành:
| Mạng | Nhà cung cấp | Vai trò |
|---|---|---|
| Mạng chính | Cloudflare | Phục vụ mọi cửa hàng theo mặc định. |
| Mạng thứ hai | BunnyCDN | Giữ bản sao y hệt, được làm mới ở mỗi bản phát hành của Navi+. Thay thế khi mạng chính không phân phối được. |
Mỗi nhà cung cấp vận hành hạ tầng toàn cầu riêng với cam kết thời gian hoạt động riêng. Vì hai bên không dùng chung máy chủ, sự cố ở bên này không ảnh hưởng tới bên kia — menu không bao giờ phụ thuộc vào việc một công ty duy nhất phải luôn hoạt động.
Một lượt tải trang diễn ra thế nào theo mặc định
- App embed Navi+ trong theme chạy một script khởi động rất nhỏ.
- Script khởi động xin mạng chính bộ máy menu, style của nó và dữ liệu menu của bạn.
- Menu hiện ra.
Nếu bất kỳ file nào trong số đó không tới được từ mạng chính — sự cố, hết thời gian chờ, trục trặc theo vùng — script khởi động tự động thử lại đúng file đó từ BunnyCDN. Việc này tự diễn ra trong trình duyệt của khách, bạn không cần cấu hình gì. Trên thực tế, một mạng gặp trục trặc là điều khách hàng của bạn không hề nhận ra.
Trường hợp duy nhất cơ chế tự thử lại không lo được
Cơ chế tự thử lại nằm ngay trong script khởi động. Điều đó tạo ra một điểm mù: nếu chính script khởi động không tới được, không có gì chạy cả, nên cũng không còn gì để thử lại.
Điều này xảy ra khi kết nối của khách hoàn toàn không tới được mạng chính. Cloudflare là một trong những mạng lớn nhất internet, nhưng không phải nơi nào cũng truy cập được:
- Một số quốc gia hạn chế hoặc bóp băng thông lưu lượng Cloudflare ở cấp quốc gia.
- Một số mạng công ty hoặc trường học chặn nó trong bộ lọc web của họ.
- Một số nhà mạng định tuyến tới Cloudflare kém ở vài khu vực, khiến yêu cầu bị hết thời gian chờ.
Với cửa hàng có phần lớn khách ở những nơi như vậy, menu hoạt động hoàn hảo với bạn lại có thể không hiện với họ — và cơ chế tự thử lại không bao giờ có cơ hội giúp.
Tuỳ chọn “Use a second CDN (BunnyCDN)” làm gì
Bật tuỳ chọn này sẽ đảo thứ tự ưu tiên, để menu không còn phụ thuộc vào mạng chính nữa:
- Script khởi động được xin từ cả hai mạng, nên menu vẫn khởi động miễn là một trong hai mạng tới được từ nơi khách đang đứng.
- Mọi thứ sau đó — bộ máy menu, style của nó và dữ liệu menu — được tải từ BunnyCDN thay vì Cloudflare.
Mạng chính chỉ còn đóng vai trò cơ hội thứ hai cho script khởi động; BunnyCDN trở thành nguồn chính cho bản thân menu.
Khi nào nên bật?
Hãy để tắt, trừ khi rơi vào một trong hai trường hợp sau:
- Đội hỗ trợ Navi+ đề nghị bạn bật. Khi bạn báo menu không hiện với một số khách, chúng tôi kiểm tra những khách đó ở đâu và họ tới được mạng nào. Nếu vấn đề nằm ở mạng chính, chúng tôi sẽ đề nghị bạn bật tuỳ chọn này.
- Bạn biết khách hàng của mình ở vùng mà Cloudflare bị hạn chế hoặc không ổn định. Nếu cửa hàng chủ yếu phục vụ vùng như vậy, BunnyCDN là lựa chọn mạng chính an toàn hơn cho bạn. Hãy tick tuỳ chọn và báo cho chúng tôi — chúng tôi sẵn sàng xác nhận thay đổi đã ổn từ phía mình.
Dấu hiệu điển hình: menu hiện với bạn và với phần lớn khách, nhưng khách ở một quốc gia cụ thể hoặc trên một mạng cụ thể báo rằng menu không bao giờ xuất hiện.
Vì sao mặc định tắt
Cả hai mạng đều toàn cầu và nhanh. Với đại đa số cửa hàng, chuyển đổi không mang lại lợi ích gì, và đường mặc định là đường chúng tôi theo dõi sát nhất và đưa bản sửa lên trước tiên. Tuỳ chọn này là công cụ cho các trường hợp hiếm ở trên, không phải cài đặt hiệu năng.
Có ảnh hưởng tới tốc độ trang không?
Không có thay đổi đáng kể. BunnyCDN phục vụ cùng bộ file từ các vị trí toàn cầu của riêng họ. Xin script khởi động từ hai mạng chỉ thêm một yêu cầu nhỏ; bộ máy menu và dữ liệu menu vẫn chỉ tải một lần, từ một nguồn duy nhất.
Cách bật hoặc tắt
- Trong trang quản trị Shopify, mở Online Store → Themes → Customize.
- Bấm biểu tượng App embeds ở thanh bên trái.
- Tìm Navi+ và mở rộng nó.
- Trong mục Advanced, tick hoặc bỏ tick Use a second CDN (BunnyCDN).
- Bấm Save.
Thay đổi có hiệu lực ở lượt tải trang tiếp theo. Không cần cấu hình gì thêm trong app Navi+.
Nếu đội hỗ trợ đề nghị bạn bật trong lúc điều tra sự cố, hãy giữ bật cho tới khi họ xác nhận sự cố đã được xử lý — sau đó bạn có thể tắt lại.