Tôi có một dự án ASP.NET MVC ASP.NET cần được lưu trữ trên hai máy chủ khác nhau. Tôi biết điều này có vẻ lạ nhưng đây là yêu cầu của khách hàng của tôi.Lưu trữ dự án ASP.NET MVC trong hai máy chủ vật lý
Cụ thể, tôi sẽ có 2 tải máy chủ cân bằng
- Web Server - phơi bày cho công chúng (miền sẽ trỏ đến ip công cộng của máy chủ này)
- App Server - giao tiếp với nội cơ sở hạ tầng (Active Directory, Cơ sở dữ liệu, Bảo mật, vv)
Tôi đang nghĩ đến việc tạo một lớp khác (ASP.NET Web API), để máy chủ web chỉ phục vụ các trang HTML, máy chủ ứng dụng sẽ chứa nhật ký nghiệp vụ và hiển thị điểm cuối cho tất cả khách hàng (web, di động) gọi điện. Máy chủ Web sẽ liên lạc với Máy chủ ứng dụng thông qua các dịch vụ RESTFUL.
Có cách nào tốt hơn để làm không? Bất kỳ giải pháp sẽ được đánh giá rất nhiều.
Cảm ơn trước,
Tôi hiểu lợi thế của kiến trúc này, nhưng trong tình huống này, ASP.NET MVC sẽ không hoạt động (xem & bộ điều khiển được kết hợp chặt chẽ). Có anyway để tách các dự án MVC mà không sửa đổi tất cả mọi thứ? –
Ah, tôi thấy những gì bạn đang cố gắng làm bây giờ. Không, bạn không thể thực hiện một dự án MVC hiện có và chia nó ra, như bạn nói các bộ điều khiển và khung nhìn được kết hợp chặt chẽ. Tôi sẽ cập nhật câu trả lời của tôi với một lời giải thích chi tiết hơn, nhưng có, bạn sẽ cần phải đưa logic kinh doanh của bạn ra khỏi bộ điều khiển MVC của bạn. – Mourndark
Khi tôi thực hiện cuộc gọi từ bộ điều khiển MVC đến bộ điều khiển webapi, tôi có nên thực hiện cuộc gọi nội bộ hoặc cuộc gọi dịch vụ web không? Tôi cũng gặp khó khăn với việc xác thực mẫu vì logic xác thực hiện tại đang được viết trong lớp MVC, nó sẽ mất rất nhiều nỗ lực để di chuyển nó vào lớp WebAPI. Hơn nữa, tôi sẽ cần phải thực hiện thử lại logic cũng như an toàn API (chỉ cho phép ứng dụng đáng tin cậy kết nối) để làm cho nó mạnh mẽ hơn. Có ý tưởng nào không? Cảm ơn –