【问题标题】:Consul - service detection Microservice/Domain architectureConsul - 服务检测微服务/域架构
【发布时间】:2017-12-31 06:43:18
【问题描述】:

我有一个微服务 (MS)/Doamin (D) 架构,其中每个 MS/D 服务都有自己的 rest api。我一直在研究使用 Consul 进行服务检测,但我不知道如何使用它,因为。我已按照文档进行操作,但无法找到如何在 MS/D 架构中使用 Consul,其中所有 MS/D 都有多个休息端点...

在文档中,感觉就像您正在注册一个普通的“服务主机”,您没有注册像“mydomain.com:8080/api//”这样的服务端点,您只是在注册“mydomain.com:8080/”,即正在运行的主机服务。感觉好像我错过了一些东西,但我真的不知道如何使用 Consul 注册 rest-api url。我正在使用 Consul.NET (https://github.com/PlayFab/consuldotnet),我注册微服务的设置是:

var client = GetServiceClient();
var httpCheck = new AgentServiceCheck()
{
  DeregisterCriticalServiceAfter = TimeSpan.FromMinutes(1),
  Interval = TimeSpan.FromSeconds(15),
  HTTP = $"http://{host}:{microservicePort.ToString()}/healthcheck/"
};

var agentReg = new AgentServiceRegistration()
{
  Checks = new[] { httpCheck },
  Address = <serviceIp>,
  ID = microServiceUniqueIdentifier,
  Name = <servicename>,
  Port = microservicePort,
};

我如何为 1 个微服务注册所有其余 api 端点,例如:

<microservice1>/api/<entity>/<api-service1> with <servicename> ms1_service1 
<microservice1>/api/<entity>/<api-service2> with <servicename> ms1_service2 
<microservice1>/api/<entity>/<api-service3> with <servicename> m1s_service3

所以另一个 MS/D 服务可以要求 Consul 为我提供 ms1_service3 的休息端点

如果我不能做到这一点,那么服务端点外观的“诀窍”必须在感觉不对的调用系统中,所以......感觉就像我在这里错过了一些基本的东西。

我也一直在研究使用 KV 来存储 rest-api-endpoints 但因为它的键值你只能为每个键值注册 1 个服务所以如果我有 10 个 MS 的一种只有 1 个 kan 存储在当前“键"值。

如果有人可以帮助我解释如何将 Consul 与 MS/D-rest 端点结合使用的最佳实践,我将非常高兴

谢谢!

【问题讨论】:

    标签: c# rest microservices consul


    【解决方案1】:

    我建议你看看 C# 中的Microphone 库,它易于配置和使用。

    您似乎也可以注册位于同一台机器上的不同服务,而不会出现此库的问题。

    【讨论】:

    • 您好,感谢您的回答,但我不明白这个框架是如何发挥作用的,因为...。由于不使用它,它取决于调用客户端现在其余 url 的样子。在 Microphone 文档的示例中,它看起来像:MakeSomeCall("/api/orders",instance.ServiceAddress,我想获取当前实例的孔休息 url,而不仅仅是当前服务的主机 url
    • 或者你是说在做的时候:Cluster.RegisterService(new Uri($"localhost/api/someaction"), provider, "orders_someaction", "v1", logger); 我可以将url设置为我的操作网址?
    猜你喜欢
    • 1970-01-01
    • 2015-07-22
    • 2017-08-08
    • 2015-12-26
    • 2014-01-08
    • 2021-11-02
    • 2015-07-15
    • 2016-11-23
    相关资源
    最近更新 更多