微服务交互

时间:2017-01-15 13:52:12

标签: c# .net microservices restful-architecture

我想知道让一个微服务与另一个微服务交互的最佳做法是什么?

我在C#中开发。我目前所做的是,创建了一个服务总线,它传递从一个微服务创建的新事件。然后我使用任务运行器(WebJob)消耗总线上的消息,然后我使用Http发布到另一个Microservice端点。每个微服务都是一个web api。

我想问我是否正确地做了,如果不是,我很高兴听到这些建议。

2 个答案:

答案 0 :(得分:1)

微服务的一个主要优点和特点是分散数据管理,这意味着每个服务(即每个服务结构应用程序)都管理自己的数据库,任何其他外部有界上下文都必须通过服务的API才能获得它。我认为微服务架构面临的最大挑战之一是确定有界的上下文以及它如何反映业务和团队结构/技术/地理位置。

答案 1 :(得分:0)

您的工作是制造微服务的第一步;使每个服务尽可能紧凑/独立/隔离/唯一,将它们暴露给众所周知的(REST)端点,并将它们与消息进行通信。

在本文中详细描述微服务的定义是不合适的,但您可以阅读很多关于Actor模型,微服务或其相关模式和应用程序的文章。

实际上,有一些框架可以实现微服务架构。建议C#开发人员使用Akka.netAzure Service Fabric

此外,您说 WebJob ,如果它是 Azure WebJobs ,为什么不读这篇好文章; https://msdn.microsoft.com/en-us/magazine/mt595752.aspx

希望这有帮助。