#1 2016-03-18 09:56:15

cybertrace
Member
Registered: 2016-02-29
Posts: 15

SOA/ORM modell up to 10000 clients

Hello dear members !

I am new with mormot and SOA/ORM I need some Basics to start. I used before Datasnap with Delphi XE6,but this doesn't fullfill my expectation.

I have a Project  with a Server app and up to 10000 Clients, where the Clients mostly getting a small amount of data ( approx. 2000 Byte) from the Server over a broadcast. Sometimes from some Clients is coming Information to store in a database conencted to the Server app, this database is MYsql or a Oracle Server.

The Connection to the Server goes over the Internet.

I tested sample 31 (Chat sample) and this fits to my requirements, I tested this local and over the Internet with a few Clients and it works fine.

The hardware will be  Server Station HP or Dell or a powerful machine with 8 core CPU and enough RAM.

From the Client I will use probably the Ichatmodell in this sample with a

So  my questions :

1. I use the Server implementation from th sample, but for 10000 Clients how many Servers TSQLRestServerFullMemory are neccessary and how many TSQLHttpServer and Ports are neccessary to handle
    this amount of clients

//Sample 31 Server side
  Server := TSQLRestServerFullMemory.CreateWithOwnModel([]);
  try
    Server.CreateMissingTables;
    Server.ServiceDefine(TChatService,[IChatService],sicShared).
      SetOptions([],[optExecLockedPerInterface]). // thread-safe fConnected[]
      ByPassAuthentication := true;

    success :=  Server.Services.Resolve(IChatService, Service);
    HttpServer := TSQLHttpServer.Create('8888',[Server],'+',useBidirSocket);
    try
      protocol := TWebSocketProtocolEcho.Create('meow','');
      protocol.OnIncomingFrame := protocol.EchoFrame;
      HttpServer.WebSocketsEnable(Server,Mt4Trader_TRANSMISSION_KEY).
        Settings.SetFullLog; // full verbose logs for this demo
      HttpServer.WebSocketsEnable(Server,Mt4Trader_TRANSMISSION_KEY).Settings.OnClientConnected := ClientIsConnected;
      HttpServer.WebSocketsEnable(Server,Mt4Trader_TRANSMISSION_KEY).Settings.OnClientDisconnected := ClientIsDisonnected;
       HttpServer.HttpServer.OnHttpThreadStart := HttpServerStarted;

So please, I need your knowledge and you expierience to start the Server app in the right way and maybe you can provide me with a good sample or a Piece of code  for the Server and the a Client or give me Information to expand the sample 31 to archieve a good functionallity.

Thanks in advance a lot

Cybertrace

Offline

#2 2016-03-18 14:33:11

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,206
Website

Re: SOA/ORM modell up to 10000 clients

Will the 10000 clients be connected at the same time?

Why do you expect a database per client?
It does not make sense to me.

I do not understand exactly your needs...

Offline

#3 2016-03-18 17:16:03

cybertrace
Member
Registered: 2016-02-29
Posts: 15

Re: SOA/ORM modell up to 10000 clients

Hello AB !

A few days ago I sent you a mail with also an overview of my needs. There inside was the Information about 2000 Clients.

The Clients maybe grow to this size and then they sure have to be connected to more then one Server.

The first Goal would be to have 50 or 100 Clients, they are connected to one Server application always 5 days a week from Sunday 23:00 to Friday 23:00.
This server application sends sometimes some Information to the clients, and they also send some Information to the Server and this goes into a database MYsql or perhaps Oracle. The max. bytecount from a Client in one telegram is 4000, nothing more and not time critical. This is an Information if the client has executed the orders from the Server. (Mastertrader)

The Server app receives from another application (Mastertrader) the Information and sends it as a broadcast to all connected Clients. This should have less delay, because this is trading Information to the Forex Brokers and decisions for buy or sell Currencies.

My skills are more to write Windows applications as stand alone applications. I did something with MS SQL and datasnap but I think with this I will not succeed here.
I have the impression, you have a great expierience with this mormot System and also with SOA/ORM  because you are one of the designers. It would be great when you could help me with the first  design and basecode. When I (We) are  using mormot for our purposes and it works well, we are also willing to donate for your Forum for sure. I think this is great stuff what you have developed here and also it works well for us, when the base is well designed.

The needs are similar to the sample 31, but the traffic from one Client must not go to other Clients

Looking Forward to here from you. I send you my contact from Skype to yout mail maybe we can clarify something over this medium

Thanks for your reply

Cybertrace

Offline

Board footer

Powered by FluxBB