GraphEngine
                                
                                
                                
                                    GraphEngine copied to clipboard
                            
                            
                            
                        Question: Is there any examples about how to run in distributed mode?
I cannot find any demos about how to configure and run servers and proxies. I am afraid that just by following the  guide  to generate the  trinity.xml configuration file is far from enough. Distributed Hashtable  example has only one server and no proxy. Is there any instructions about this, especially running distributed mode on different machines?
Please take a look here: https://www.graphengine.io/docs/manual/Config/config-v2.html, the GEConfig tool is now deprecated. Currently, we support a fixed distributed cluster. Once you populate your config file with the server endpoints and start all the instances they will connect to each other.
A duplicate of #62, and we're working on a new deployment model taking availability and cloud infrastructure into consideration.
 nuget package GraphEngine.Core 1.0.8482 and below only support configuration specification 1.0.
However, the most updated version of  NuGet package  is 1.0.8482. Although VSExtension  version is also 1.0.8482, does this mean VSExtension can use the version 2 xml configuration file?
If not, should I build the SDK from source file myself?
@bingzhangdai yep it's better to build a package yourself. Simply run tools\build.bat and you're good to go :)
In the configuration file, I use IPv4 address instead of loopback address. However, the starting process of the server has been blocked at the stage:
[ INFO ] My IPEndPoint: 10.172.209.92:5304I have run it as administrator.
@bingzhangdai I see that you're trying to setup a distributed cluster. Looks like this instance is started, but it's waiting for the other peers.
Did you start up the others?
@yatli great! I should have noticed that. After starting the other servers, it seems to work normally. Thanks very much!
One more question about the AvailabilityGroup attributes. 
The servers within the same availability group correspond to the same server Id in MemoryCloud.SendMessage(...).Does that mean if I send the message to the server, all the servers within the same availability group will get the same message, and will call the same handler? So they can be seen as duplicate of the others? (I think if they are the duplication of each other, their configuration should be the same.)
@bingzhangdai currently the AG implementation is still under construction... It is better to keep a single server within an AG. Our current implementation does something like this:
Allocate a RemoteStorage (a communication object for sending messages to another partition) for each AG
For each server in an AG:
    Create 2 TCP connections to it
    Put the connections into the corresponding RemoteStorage
EndFor
During each message passing, the RemoteStorage takes the first available connection and send the message. ...which means that they serve as load-balancing replicas. Good for read-only queries, bad for any writing to the storage.
It is a work in progress though (so we'll get something better in our current sprint). You can find more information wrt this at https://github.com/Microsoft/GraphEngine/issues/108