A highly available large-scale service cluster often requires the systemto discover new nodes and identify failed nodes quickly in order tohandle a high volume of traffic. Determining node membership efficientlyin such an environment is critical to location-transparent serviceinvocation, load balancing and failure shielding.In this paper, we present a topology-aware hierarchical membership servicewhich divides the entire cluster into membership groups based on the networktopology among nodes so that the liveness of a node within each groupis published to others in a highly efficient manner. Our design alsosupports the deployment of service clusters in multiple data centersthrough membership proxies which update membership informationincrementally so that membership communication across data centersis minimized as much as possible. We compare our approach withother two alternatives: an all-to-all multicasting approach and a gossipbased approach. Our evaluation shows that the proposed topology-aware approach isscalable and effective in terms of high membership accuracy, short viewconvergence time, and low communication cost.