micro-heartbeat

演示服务发现使用心跳。

依据

服务发现在启动和注销时提供服务发现。有时,这些服务可能会意外地死亡或被强行杀死或面临暂时的网络问题。在这些情况下,将在服务发现中保留陈旧的节点。如果自动删除服务,那将是理想的。

解决方案

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
2
3
4
5
service := micro.NewService(
micro.Name("com.example.srv.foo"),
micro.RegisterTTL(time.Second*30),
micro.RegisterInterval(time.Second*15),
)

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :