5

Tôi cần trợ giúp cách suy nghĩ về cách thiết kế ứng dụng của chúng tôi để vừa với mẫu Vải Dịch vụ Azure mới.Thiết kế Ứng dụng trong Dịch vụ Azure Vải

Hôm nay, chúng tôi có một ứng dụng được xây dựng trên Azure Cloud Services. Ứng dụng này được xây dựng xung quanh DDD và chúng tôi có các ngữ cảnh giới hạn riêng biệt cho các phần hệ thống con khác nhau của ứng dụng. Các ngữ cảnh bị giới hạn ngày nay được lưu trữ trong một vai trò công nhân, cho thấy các hệ thống con này sử dụng một WebAPI duy nhất.

Ngoài ra, chúng tôi có một vai trò Web lưu trữ lối vào web và một vai trò công nhân xử lý hàng đợi nền.

Chúng tôi cố gắng chuyển sang kiến ​​trúc dịch vụ vi mô. Điều đầu tiên tôi dự định làm là trích xuất tất cả ngữ cảnh bị ràng buộc vào các máy chủ API của riêng chúng. Điều này sẽ dẫn đến 5-10 dịch vụ WebAPI mới hỗ trợ các hệ thống con của chúng tôi.

Đối với câu hỏi của tôi, tất cả các hệ thống con/ngữ cảnh giới hạn/máy chủ API này có phải là Ứng dụng Vải dịch vụ của riêng chúng hoặc dịch vụ trong một Ứng dụng Vải Dịch vụ không?

Tôi đã đọc tài liệu, tìm thấy ở đây Service Fabric Application Model, hơn và hơn và tôi không thể tìm ra nơi dịch vụ của tôi phù hợp.

Chúng tôi muốn hệ thống để hỗ trợ các phiên bản khác nhau của dịch vụ, và các dịch vụ cũng có thể quy mô khác nhau. Thậm chí có thể có một yêu cầu để có một dịch vụ vi mô để chạy trong một kích thước máy ảo lớn hơn sau đó phần còn lại.

Vui lòng ai đó có thể hướng dẫn tôi phù hợp với nhu cầu của tôi.

+0

Nếu bạn muốn nâng cấp các phần độc lập, mỗi ứng dụng phải là các ứng dụng. Đối với cách để kiến ​​trúc các ứng dụng của bạn, đó là thực sự tùy thuộc vào nhu cầu cá nhân của bạn. Hãy chắc chắn rằng bạn thiết lập các sơ đồ phân vùng của bạn để tính đến sự tăng trưởng trong tương lai. Với SF, bạn đặt tất cả các phân vùng của bạn trên một số lượng nhỏ các máy và sau đó phát tán chúng ra khi bạn phát triển so với việc thêm nhiều phân vùng hơn trên đường. – dharms

Trả lời

9

Tôi nghĩ rằng bạn có ý tưởng đúng, nói chung, mỗi ngữ cảnh được giới hạn là một dịch vụ (vi mô). Service Fabric cung cấp cho bạn hai cấp độ tổ chức với các ứng dụng và dịch vụ, trong đó một ứng dụng là một nhóm các dịch vụ hợp lý. Dưới đây là ý nghĩa của việc bạn:

Nói một cách hợp lý, hãy nghĩ về ứng dụng dưới dạng tập hợp chức năng cố kết. Các dịch vụ chung tạo thành tập hợp chức năng liền mạch nên được nhóm thành một ứng dụng. Bạn có thể tự hỏi mình, đối với mỗi dịch vụ: "tự mình triển khai dịch vụ này một cách hợp lý mà không có các dịch vụ khác này?" Nếu câu trả lời là không, thì có lẽ họ nên được nhóm lại trong cùng một ứng dụng.

Phát triển nói, công cụ Visual Studio được hướng nhiều hơn một chút đối với nhiều dịch vụ trong một ứng dụng, nhưng bạn cũng có thể có nhiều ứng dụng trong một giải pháp.

mặt hoạt động nói, một ứng dụng đại diện cho một ranh giới quy trình, nâng cấp nhóm, và nhóm versioning:

  • Mỗi thể hiện của một ứng dụng mà bạn tạo ra được quá trình riêng của mình (hoặc thiết lập các quá trình này nếu bạn có nhiều loại hình dịch vụ trong ứng dụng). Trường hợp dịch vụ của một quy trình lưu trữ chia sẻ loại dịch vụ. Các trường hợp dịch vụ của các loại dịch vụ khác nhau có quy trình riêng của chúng cho mỗi loại.
  • Ứng dụng là đơn vị nâng cấp cấp cao nhất, nghĩa là mọi nâng cấp bạn thực hiện đều là nâng cấp ứng dụng. Bạn có thể nâng cấp các dịch vụ riêng lẻ trong một ứng dụng (bạn không phải luôn luôn nâng cấp mọi dịch vụ trong một ứng dụng), nhưng mỗi lần bạn nâng cấp, phiên bản ứng dụng sẽ thay đổi.
  • Bạn có thể tạo các phiên bản song song của các phiên bản khác nhau của cùng một loại ứng dụng trong cụm của bạn. Bạn không thể tạo các phiên bản song song của các phiên bản khác nhau của cùng một loại dịch vụ trong một cá thể ứng dụng.

Vị trí và quy mô được thực hiện tại dịch vụ. Vì vậy, ví dụ, bạn có thể mở rộng một dịch vụ trong một ứng dụng, và bạn có thể đặt một dịch vụ khác trên một máy ảo lớn hơn.

+0

Cảm ơn bạn đã trả lời chi tiết! Giúp tôi rất nhiều :-) – honk

Các vấn đề liên quan