使用Ocelot我创建了一个API网关。坐在此API网关后面,我还有另外2个微服务,它们需要具有执行简单CRUD事务的能力。这些服务是:
我有一个单独的DAL,其中包含DbContext,实体,存储库和服务。我的计划是将这些数据访问服务的接口注入到Customer.Api或Identity.Api中,以便控制器可以使用它们。
但是,应该将DbContext添加到网关上还是要同时添加到两个服务(客户和身份)中才能使用DAL存储库?
如果需要在每个微服务上添加DbContext,这不算过分吗?
答案 0 :(得分:1)
在我看来,API网关应该就是...对其他服务的可配置访问点。除了沿着请求/响应进行转发外,对应用程序域的了解实际上没有任何逻辑或理解。
您的服务应实现所需的任何类型的上下文。是的,您可能会觉得将相同的上下文添加到您的应用程序很麻烦。但这将是微服务的美丽……它可以在没有帮助的情况下自行工作。