Emerging with unprecedented features of programmable network management at a centralized controller for network technology in recent years, Software-Defined Networking (SDN) has promptly received much attention from both industry and academic research. However, to provide security and scalability of network, a single centralized controller gives way to a distributed controllers architecture. Unfortunately, this architecture lacks an effective scheme to dispatch load among controllers. Thus, we present a mechanism of load balancing and failure recovery for SDN distributed controllers, named Aloba. It monitors the imbalance state of entire the network and resolves the failure of centralized making decision of current solutions. The mechanism also reduces the overhead of communication among controllers while choosing and migrating burden of network into suitable target by using both strategies of anti-load fluctuation and flexible data collection.