Here we usually use the services found under product comparison features, first of all look conclusions:
Feature
|
Consul
|
zookeeper
|
etcd
|
euerka
|
Health Check Service
|
Service status, memory, hard drive, etc.
|
(Weak) long connection, keepalive
|
Heartbeat connection
|
It can be equipped with support
|
Multi-data center
|
stand by
|
—
|
—
|
—
|
kv storage services
|
stand by
|
stand by
|
stand by
|
—
|
consistency
|
raft
|
paxos
|
raft
|
—
|
cap
|
that
|
cp
|
cp
|
Up
|
Using an interface (multi-language)
|
Supports http and dns
|
Client
|
http/grpc
|
http(sidecar)
|
watch support
|
Full amount / support long polling
|
stand by
|
Support long polling
|
Support long polling / Much of the increase
|
Self-monitoring
|
metrics
|
—
|
metrics
|
metrics
|
Safety
|
acl /https
|
acl
|
https support (weak)
|
—
|
spring cloud integration
|
It has supported
|
It has supported
|
It has supported
|
It has supported
|
- Health Check Service
When using Euraka need to explicitly configure health check support; Zookeeper, Etcd then lost the next connection and service process task unhealthy, and Consul relatively more elaborate, such as memory has been used 90% of space in the file system is not fast inadequate.
- Multi-data center support
Consul Gossip protocol over the WAN, complete synchronization across data centers; and other products will require additional development work to achieve;
- KV storage services
In addition to Eureka, several other capable of external support kv storage services, we will be talked about behind these products, the pursuit of high consistency of the important reasons. Providing storage services can be dynamically configured into better service, oh.
- Product design trade-offs CAP theory
Eureka typical AP, as a service in distributed scene found more appropriate products, services, found higher priority scene availability, consistency is not particularly deadly. Secondly CA types of scenes Consul, can also provide high availability, and to ensure consistency kv store service. The Zookeeper, Etcd is the type of sacrifice CP availability, service discovery scenario did not much advantage;
- Multi-language capabilities and access protocols provide external services
Zookeeper cross-language support is weak, several other support http11 provide possible access. Euraka generally provide access to multi-lingual client support through the sidecar way. Etcd also provides support Grpc of. Consul addition to the standard services Rest api, also provides support for DNS.
- Watch support (client to the service provider to observe changes)
Zookeeper support server-side push changes, Eureka 2.0 (under development) also plans to support. Eureka 1, Consul, Etcd the sense changes are achieved by a long polling mode;
- Monitor their own cluster
In addition to Zookeeper, several other are supported by default metrics, operation and maintenance can collect these metrics and information to achieve the alarm monitoring purposes;
- Safety
Consul, Zookeeper support ACL, another Consul, Etcd secure channel support https.
- Spring Cloud Integration
Currently it has a corresponding boot starter, provides integration capabilities.
Overall, the current Consul own function, and integrated support for its spring cloud are relatively better, and the complexity of the operation and maintenance is simple (not detailed in the discussion), the Eureka design more in line with the scene, but needs to continue perfect.
Reproduced in: https: //www.cnblogs.com/jay-wu/p/11052060.html