In this paper, we propose a new structured overlay protocol, which is more efficient and scalable than previous ones. We call it Gemini, because its routing table consists of two parts, one containing nodes with common prefix and the other containing nodes with common suffix. Gemini routes messages to their destinations in just 2 hops, with a very high probability of 0.99. When running in a p2p network of 5,000,000 peers, each Gemini node consumes only 6 messages per second for maintenance. This cost, as well as routing table size, varies as a ( )NO function to the overlay scale, so Gemini can also run well in an even larger environment.