N
N
noway2013-08-30 14:31:21
PHP
noway, 2013-08-30 14:31:21

Method of organizing data exchange between 2 systems

There is a system "A", which looks at the Internet. There is a system "B", which is essentially a web service.
It is necessary to transfer large volumes of xml-documents from system A to B.

What is the best way to organize the exchange of documents?

1. server A initiates a connection and sends data to B
2. server B queries server A by cron for new

ones or is there some more correct Jedi scheme?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
I
Illivion, 2013-08-30
@Illivion

Maybe you should look towards MSMQ? I don’t know if there are analogues for linux, but in general it’s very convenient. One system, as it prepares xml's, throws them into the remote queue, the other takes them out and processes them. In the event of a connection failure, messages are accumulated in a local queue, and after the connection is resumed, they are sent to a remote server.

V
VoidVolker, 2013-08-30
@VoidVolker

The Jedi Complete Scheme is the first.

N
Nikolai Vasilchuk, 2013-08-30
@Anonym

What is "system A" and "system B"?
If these are two servers on which there are some applications, then it seems to me that it would be logical to raise a VPN between them and attach the server B directory via NFS on server A. Then server A will simply put the files, and B will simply pick them up.

S
StepEv, 2013-08-31
@StepEv

Strictly speaking, you have not provided enough criteria to select solutions. It would be nice to define the requirements for reliability, fault tolerance, performance and throughput, availability, etc.
But in any case, I am inclined to join the previous speaker - the message queue technology is what the doctor ordered.
There are details on the site, for example
habrahabr.ru/post/44907 (with continuation) and habrahabr.ru/post/165981/

P
Pavel Volintsev, 2013-09-01
@copist

image
goo.gl/iDzRO4

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question