演示服务发现使用心跳。
依据
服务发现在启动和注销时提供服务发现。有时,这些服务可能会意外地死亡或被强行杀死或面临暂时的网络问题。在这些情况下,将在服务发现中保留陈旧的节点。如果自动删除服务,那将是理想的。
解决方案
Micro支持一个注册器TTL的选项,并为这个确切的原因注册间隔。TTL指定一个注册在发现之后应该存在多长时间,它会过期并被删除。间隔是服务重新注册以保存其在服务发现中的注册的时间。
这些选项都可以在go-micro和micro Toolkit中使用。
Toolkit
使用像这样的标志运行工具箱中的任何组件
1 | micro --register_ttl=30 --register_interval=15 api |
这个示例显示,我们设置一个30秒的ttl,重新注册间隔为15秒。
Go Micro
在宣布micro服务时,您可以将选项作为time.Duration传递
1 | service := micro.NewService( |