2009-09-25 42 views
5

ESBs (Bus dịch vụ doanh nghiệp) đã trở nên khá phổ biến trong thế giới Java doanh nghiệp - nhưng có bất kỳ sự tương đương nào trong đấu trường .NET không?Có bất kỳ ESB .NET nào không?

+1

http://stackoverflow.com/questions/722675/implementing-a-message-bus-architecture –

Trả lời

14
+1

Theo ý kiến ​​của tôi, bạn nên tránh mọi chi phí. – Marco

+1

@Marco OK. Bạn có quan tâm để giải thích tại sao? –

+0

Vấn đề đầu tiên là: http://nservicebus.com/LicensePackages.aspx – Marco

2

Câu hỏi đầu tiên bạn cần phải tự hỏi mình là tại sao bạn cần một ESB?

ESB thường được sử dụng trong kiến ​​trúc phân phối SOA sự kiện, có vẻ như là một từ thông dụng nóng hiện nay. Trước khi bạn nhảy vào ESB hãy để tôi nhắc nhở bạn về Luật Fowler Đầu tiên Martin của hệ thống phân phối:

http://martinfowler.com/bliki/FirstLaw.html

"Luật Đầu tiên của tôi về thiết kế Object Distributed: Đừng phân phối đối tượng của bạn (Từ P của EAA)"

Khi bạn xây dựng một hệ thống mới, khía cạnh quan trọng nhất là nó là bằng chứng trong tương lai, điều đó có nghĩa là khả năng mở rộng dễ dàng và khả năng bảo trì. Nếu bạn xây dựng hệ thống của mình xung quanh khái niệm các dịch vụ bị mất với các hợp đồng được định nghĩa tĩnh, được phân phối trong một môi trường mạng, bạn có thể "ẩn" kiến ​​trúc mà bạn muốn cho dịch vụ cụ thể đó, vì các giao diện vẫn còn đó.

ESB liên quan chặt chẽ với hệ thống nhắn tin asyn, vì vậy trước khi bạn bắt đầu nhảy vào loại triển khai đó, hãy biết rằng kiến ​​trúc không nhất thiết phải đồng nhất, đó là tất cả các dịch vụ được triển khai theo cùng một cách, không bắt đầu sai lầm lớn nhất đang phân phối hệ thống của bạn ngay từ đầu. Bạn chỉ nên phân phối khi bạn cần mở rộng quy mô, không phải trước. Tuy nhiên, những gì bạn cần để đảm bảo rằng dịch vụ của bạn có thể dễ dàng phân phối nếu cần, không phá vỡ bất kỳ hợp đồng nào có nghĩa là thay đổi đối với khách hàng của dịch vụ đó.

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