Sorry, my first post’s image link was broken. Trying again:
I am trying to figure out the best way to architect access to an HBase cluster from a multi-user system that has potentially thousands of processes all potentially reading and writing data from/to HBase. The multi-user system is a collection of processes written in C or C++ (essentially a client-server system, not web or java-based). Since the system is not Java or web-based, I need to come up with a way to allow these thousands of processes to efficiently access the DB without either 1) creating thousands of Thrift servers, or 2) building and destroying an HBase connection for each access. The link below is one way I could see to do it. Each C/C++ process would need to create a protocol/client connection to a random Thrift server each time it wanted to interact with HBase, but the Thrift servers would at least have regionserver and HTable info cached so they don't need to start up each time. Am I thinking about the Thrift client-server setup for HBase correctly? Does this seem like a good approach? If I have, say, a few dozen Thrift server instances for a thousand users, will the requests through the 90XX sockets block and buffer correctly so the Thrift servers will be pooled in the eyes of the C/C++ processes? Thanks for any help you can provide. https://picasaweb.google.com/104729910485073585265/Thrift#5690550152993731778
