我有一个微服务(MS)/ Doamin(D)架构,其中每个MS/D服务都有自己的休息api。我一直在寻找使用领事进行服务检测,但我不知道如何使用它,因为。我已经按照文档,但它无法找到如何使用MS/D架构中所有MS/D具有多个休息端点的Consul ...领事 - 服务检测微服务/域架构
在文档中,感觉就像您注册一个普通的“服务主机”您没有注册像“mydomain.com:8080/api//”这样的服务端点,您只需注册“mydomain.com:8080/即运行该服务的主机。这感觉就像我错过了一些东西,但我真的不知道如何使用Consul注册rest-api网址。我使用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,
};
如何注册所有的REST API端点1个微服务,如:
<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服务可以问领事让我休息 - ms1_service3
如果我不能做到这一点“知道如何”服务端点的样子必须在调用系统,感觉不对劲......这感觉就像我错过了这里有些基本的东西。
我也一直在考虑使用KV来存储rest-api-endpoints,但是因为它的关键值你只能为每个键值注册1个服务,所以如果我有10个MS只有一个只能存储在当前的“核心价值。
会很高兴,如果有人可以帮我解释了如何结合使用领事与MS/d-休息端点
谢谢最佳实践!
嗨,感谢您的回答,但我没有看到这个框架可能helo因为....因为没有使用它是upp调用客户端到现在如何剩下的网址看起来像。在Microphone文档中的例子中,它看起来像:MakeSomeCall(“/ api/orders”,instance.ServiceAddress,我想为当前实例获取洞休息URL,而不是当前服务的主机url- – user3154653
或者你是说当做:Cluster.RegisterService(新Uri($“http:// localhost/api/someaction”),提供者,“orders_someaction”,“v1”,记录器);我可以设置url到我的动作url? – user3154653