In my project, I have bridged C++ module with python using plain (windows) sockets with proto buffer as serializing/ de-serializing mechanism. Below are requirements of this project:-
1) C++ module will have 2 channels. Through one it will accept request and send appropriate reply to python module. Through other it will send updates which it gets from backend to python side.
2) Today we are proposing it for 100 users ( i.e request/reply for 100 users + updates with each messages around 50 bytes ).
But I want to make sure it works fine later even with 100 K users. Also, I am planning to use ZMQ with this but I don't know much about its performance / latency / bottlenecks. 
Can anyone please suggest me if its appropriate choice OR are there better tools available.
Thanks in advance for you advice.
Instead of doing IPC you can simply call Python from C++.  You can do this either using the Python C API, or perhaps easier for some people, Boost.Python.  This is referred to as "embedding" Python within your application, and it will allow you to directly invoke functions and pass data around without undue copying between processes.
C++ and python communication