本文整理匯總了Golang中github.com/hashicorp/consul/api.AgentServiceRegistration.Check方法的典型用法代碼示例。如果您正苦於以下問題:Golang AgentServiceRegistration.Check方法的具體用法?Golang AgentServiceRegistration.Check怎麽用?Golang AgentServiceRegistration.Check使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/hashicorp/consul/api.AgentServiceRegistration
的用法示例。
在下文中一共展示了AgentServiceRegistration.Check方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Register
func (r *ConsulAdapter) Register(service *bridge.Service) error {
registration := new(consulapi.AgentServiceRegistration)
registration.ID = service.ID
registration.Name = service.Name
registration.Port = service.Port
registration.Tags = service.Tags
registration.Address = service.IP
registration.Check = r.buildCheck(service)
if r.servicePrefix != "" {
kv := r.client.KV()
addr := service.IP + ":" + strconv.Itoa(service.Port)
host_path := r.servicePrefix + "/" + "nodes/" + service.ID + "/"
service_path := r.servicePrefix + "/" + "services/" + service.Name + "/" + service.ID + "/"
_, err := kv.Put(&consulapi.KVPair{Key: host_path + "URI", Value: []byte(addr)}, nil)
if err != nil {
return (err)
}
_, err = kv.Put(&consulapi.KVPair{Key: service_path + "URI", Value: []byte(addr)}, nil)
if err != nil {
return (err)
}
for k, v := range service.Attrs {
_, err := kv.Put(&consulapi.KVPair{Key: host_path + k, Value: []byte(v)}, nil)
if err != nil {
return (err)
}
_, err = kv.Put(&consulapi.KVPair{Key: service_path + k, Value: []byte(v)}, nil)
if err != nil {
return (err)
}
}
}
return r.client.Agent().ServiceRegister(registration)
}
示例2: Register
// Register will register ConsulAdapter's interface with RegistryAdapter
func (r *ConsulAdapter) Register(service *bridge.Service) error {
registration := new(consulapi.AgentServiceRegistration)
registration.ID = service.ID
registration.Name = service.Name
registration.Port = service.Port
registration.Tags = service.Tags
registration.Address = service.IP
registration.Check = r.buildCheck(service)
return r.client.Agent().ServiceRegister(registration)
}
示例3: Register
func (r *ConsulAdapter) Register(service *bridge.Service) error {
registration := new(consulapi.AgentServiceRegistration)
registration.ID = service.ID
registration.Name = service.Name
registration.Port = service.Port
registration.Tags = service.Tags
registration.Address = service.IP
registration.Check = r.buildCheck(service)
if r.servicePrefix != "" {
kv := r.client.KV()
for k, v := range service.Attrs {
pair := &consulapi.KVPair{Key: r.servicePrefix + "/" + service.ID + "/" + k, Value: []byte(v)}
_, err := kv.Put(pair, nil)
if err != nil {
panic(err)
}
}
}
return r.client.Agent().ServiceRegister(registration)
}
示例4:
Expect(err).NotTo(HaveOccurred())
service, ok := services[registration.ID]
Expect(ok).To(BeTrue())
Expect(*service).To(Equal(api.AgentService{
ID: registration.ID,
Service: registration.Name,
Tags: registration.Tags,
Port: registration.Port,
Address: registration.Address,
}))
})
Context("when using a TTL check", func() {
BeforeEach(func() {
registration.Check = &api.AgentServiceCheck{
TTL: "10s",
}
})
It("registers the service", func() {
services, err := consulClient.Agent().Services()
Expect(err).NotTo(HaveOccurred())
service, ok := services[registration.ID]
Expect(ok).To(BeTrue())
Expect(*service).To(Equal(api.AgentService{
ID: registration.ID,
Service: registration.Name,
Tags: registration.Tags,
Port: registration.Port,
Address: registration.Address,
}))