Service discovery allows services in distributed systems to find and connect with each other. Popular open-source service discovery solutions include ZooKeeper, Eureka, ETCD, and Consul. ZooKeeper uses consensus protocol ZAB for consistency but clients must handle load balancing. Eureka is eventually consistent and Netflix uses it for AWS. ETCD is inspired by ZooKeeper but clients also handle load balancing. Consul uses RAFT consensus and has a built-in DNS server, making it a comprehensive solution. The right service discovery solution depends on requirements like consistency needs and language integration.