2014-10-13 14 views
21

Làm thế nào để xây dựng ứng dụng định hướng dịch vụ vi mô trong thế giới .NET? Có nền tảng nào mà chúng tôi có thể viết các ứng dụng hướng dịch vụ vi mô trong thế giới .NET không? Làm thế nào để hình dung kiến ​​trúc bao gồm các dịch vụ Micro, Event store và một số cơ sở dữ liệu NoSQL? Cảm ơn.Dịch vụ vi mô và .NET

+1

Toooo trễ nhưng nếu nó giúp ai đó. Hãy thử [Microsevices with Containers by Microsoft] (https://blogs.msdn.microsoft.com/cesardelatorre/2017/05/10/free-ebookguide-on-net-microservices-architecture-for-containerized-net-applications/) . Họ đã tạo ra một ứng dụng mẫu với các dịch vụ microservices và MVC/Angular2/Xamarin front-end và một cuốn sách hướng dẫn bạn. – Alpesh

Trả lời

11

Microservices là hơn một cách tiếp cận kiến ​​trúc hơn khuôn khổ hoặc một tập hợp các thư viện. Nhưng trong thế giới mạng. Bạn có thể tạo ra quy trình độc lập cho các dịch vụ web bằng cách sử dụng OWIN (Giao diện web mở cho .NET).

Bạn có thể thấy một ví dụ cho việc thực hiện tự dịch vụ lưu trữ web (nó không đòi hỏi IIS) trong:

http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

Với điều đó, bạn có thể thực hiện microservices của bạn như các dịch vụ tự lưu trữ trong một hoặc nhiều máy hơn. Loại cơ sở dữ liệu hoặc nguồn sự kiện là tùy thuộc vào ứng dụng của bạn.

Sau đó, bạn có thể xây dựng một số phần còn lại API do ứng dụng của bạn truy vấn, được sử dụng như một điểm trung tâm của acces, mẫu Mặt tiền, mọi yêu cầu sẽ được chuyển sang một trong các dịch vụ nhỏ của bạn.

+1

Không phải API REST trung tâm giống như API bạn đề cập giới thiệu một điểm trung tâm của sự thất bại?(Đây là phần cuối của Microservices Tôi không hiểu, chúng được gọi như thế nào?) –

+2

@CameronWilby Vâng, nó có thể là một điểm trung tâm của sự thất bại nếu bạn không có dự phòng. Nhưng bạn có thể đặt nhiều địa chỉ IP trong Máy chủ DNS của bạn trỏ đến các phiên bản máy chủ khác nhau đang giữ API REST. Thiết lập một số loại vòng tròn hoặc cân bằng tải là posible. Sử dụng các phương pháp hay nhất trên Internet là một cái gì đó bạn phải áp dụng cho ứng dụng microservice của bạn để làm cho nó mạnh mẽ hơn nếu đó là nhu cầu của bạn. –

+0

Có bất kỳ mối lo ngại nào về bảo mật khi sử dụng API so với một cái gì đó như RabbitMQ (mà những người khác đang đề xuất) không? – codeMonkey

14

Làm theo this link để được hướng dẫn từng bước thiết lập một khung công tác Microservice đơn giản bằng cách sử dụng .NET framework, ASP.NET và RabbitMQ.

Hướng dẫn bắt đầu với các khái niệm cốt lõi, triển khai ứng dụng đang hoạt động và quy mô ứng dụng đó về kích thước và độ phức tạp, giải quyết các vấn đề điển hình của Microservice trong mỗi bước.

8

Microsoft đã phát hành Service Fabric cung cấp cho bạn nền tảng cho Microservices.

Đây là ưu đãi Azure nhưng cũng sẽ có sẵn tại chỗ với Windows Server 2016.

Bạn có thể cài đặt Vải dịch vụ trên máy dev đang chạy VS2015 và dùng thử SDK.

+0

https://github.com/daishisystems/Daishi.AMQP –

3

Vì giao thức lựa chọn khi làm việc với microservices là HTTP, tôi khuyên bạn nên sử dụng .NET Web API cho lớp API. Vì các dịch vụ microservices tôn trọng 4 đối tượng thuê SOA, bạn sẽ muốn đảm bảo rằng mọi dịch vụ đều có lưu trữ dữ liệu riêng của mình và rằng mọi "dịch vụ" đều có thể được triển khai độc lập. Tôi sẽ nói rằng khía cạnh nhập khẩu nhất khi thiết lập một kiến ​​trúc có liên quan đến các hợp đồng API, bởi vì mọi dịch vụ đều có thể thực hiện riêng của nó.

API web .NET + NServiceBusdo cung cấp nền tảng tốt cho kiến ​​trúc dựa trên dịch vụ nhỏ.

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