Quay lại
Sitefinity CMS và Kiến trúc ba tầng
26 Th8, 2024
•
05.44 PM
Tổng quan
Với ASP.NET Core Renderer, Sitefinity CMS đang hướng tới kiến trúc ba tầng. Thay vì kiến trúc hai tầng, trong đó Tầng 1 lưu trữ cơ sở dữ liệu và Tầng 2 lưu trữ cả quản trị backend và kết xuất trang frontend, kiến trúc ba tầng tách biệt backend khỏi frontend. Lớp trình bày backend và lớp trình bày frontend được triển khai như hai ứng dụng riêng biệt.
Kiến trúc ba tầng trông như thế này:
Sitefinity’s three-tier architectures comprises the following:
- Tier 1 lưu trữ cơ sở dữ liệu
- Tier 2 lưu trữ Sitefinity CMS quản trị backend
- Tier 3 lưu trữ Sitefinity ASP.NET Core Renderer để hiển thị giao diện người dùng
- The ASP.NET Core Renderer và Sitefinity CMS giao tiếp thông qua dịch vụ bố cục trang Sitefinity, sử dụng lệnh gọi REST API.
- Renderer xử lý tất cả các trang ASP.NET Core, nhưng cũng đóng vai trò như một proxy và chuyển tiếp tất cả các yêu cầu khác đến Sitefinity CMS.
- Bạn lưu trữ Renderer trên miền công cộng của mình và đây trở thành điểm truy cập duy nhất cho tất cả người dùng.
Việc có một ứng dụng riêng để hiển thị HTML có nhiều lợi thế hơn so với việc có một ứng dụng thực hiện tất cả công việc. Chúng bao gồm những lợi thế sau:
Khả năng mở rộng
Với kiến trúc hai tầng, khi bạn cần mở rộng quy mô, bạn phải sao chép ứng dụng Sitefinity CMS trên mọi nút khác mà bạn cần thêm vào cơ sở hạ tầng của mình. Điều này là do cả giao diện người dùng và giao diện quản trị đều là một phần của cùng một ứng dụng.
Ngoài ra, với kiến trúc ba tầng, giao diện người dùng và giao diện quản trị là các ứng dụng khác nhau được lưu trữ riêng biệt. Trong trường hợp này, bạn có thể mở rộng giao diện người dùng và giao diện quản trị theo các tỷ lệ khác nhau, tùy thuộc vào nhu cầu hiện tại của bạn.
Ngoài ra, khả năng mở rộng ít tốn kém hơn, vì ứng dụng giao diện người dùng nhỏ hơn và nhẹ hơn nhiều và cần ít tài nguyên hơn để chạy. Khi bạn mở rộng quy mô, bạn có thể sử dụng các máy ít mạnh hơn.
Tăng hiệu suất
Vì Sitefinity CMS nằm trong một ứng dụng riêng biệt nên ứng dụng ASP.NET Core Renderer có logic đơn giản hơn khi khởi động – do đó, nó khởi chạy gần như ngay lập tức.
Hơn nữa, vì hai ứng dụng chạy trên các tiến trình khác nhau nên thời gian CPU của cả ứng dụng phụ trợ và ứng dụng giao diện đều được giảm.
Ngoài ra, toàn bộ chu trình ghi-biên dịch-gỡ lỗi được cải thiện đáng kể nhờ tốc độ của nền tảng ASP.NET Core cơ bản.
Ví dụ, với kiến trúc hai tầng, khi bạn thay đổi một tiện ích, bạn phải khởi động lại toàn bộ hệ thống, vì phần phụ trợ và phần giao diện đang chạy trong cùng một quy trình. Mặt khác, với kiến trúc ba tầng, để xem các thay đổi, bạn chỉ cần khởi động lại phần giao diện. Các quy trình phần phụ trợ vẫn tiếp tục hoạt động.
Phát triển linh hoạt
Kiến trúc tách biệt cùng với giao diện ASP.NET Core cho phép quản trị viên CNTT lưu trữ Renderer trên bất kỳ nền tảng nào hỗ trợ nền tảng ASP.NET Core.
Các nhà phát triển có thể sử dụng IDE và hệ điều hành đa nền tảng theo lựa chọn của họ.
Mặt khác, các nhà phát triển có thể tiếp tục sử dụng các kỹ năng ASP.NET hiện có của họ với ASP.NET Core.
Tăng độ tin cậy
Sự tách biệt giữa trang web và quản trị làm tăng tính bảo mật và độ tin cậy của hệ thống và giảm nguy cơ lỗi điểm đơn.
Việc tách biệt phát triển front-end và back-end đảm bảo thời gian đưa sản phẩm ra thị trường nhanh hơn và giảm nguy cơ phá vỡ cơ sở hạ tầng back-end quan trọng.
Dễ dàng nâng cấp
Vì mọi tùy chỉnh đều được tách biệt trong một ứng dụng giao diện riêng biệt nên các dịch vụ phụ trợ có thể được nâng cấp dễ dàng hơn.
Thiết lập và triển khai nhanh hơn
Thời gian thiết lập ứng dụng Renderer chỉ bao gồm việc kết nối nó với phiên bản Sitefinity CMS.
Vì bạn chỉ cần tùy chỉnh frontend, mà không cần phải xử lý backend, bạn có thể chạy Renderer trên máy phát triển của mình và triển khai Sitefinity CMS trên máy khác hoặc trên đám mây. Điều này tăng tốc các lần lặp lại vì bạn không phải đợi Sitefinity CMS khởi động và cấu hình. Bạn chỉ cần kết nối với một phiên bản đang chạy.
Tiện ích cho các nhà tiếp thị
Trình chỉnh sửa trang WYSIWYG mới, được hỗ trợ bởi ASP.NET Core, rất hữu ích cho các nhà tiếp thị vì nó cho phép họ chỉnh sửa và định dạng nội dung trang mà không cần phải nhờ đến nhà phát triển để thực hiện những thay đổi đơn giản.
Blog Khác