Ya it clarified a lot. I have one more doubt. In Thrift white paper it
says about TCP sockets.
Kindly confirm whether the communication is happening over the TCP ? Or
can is it in UDP ?
On 4/20/2015 3:31 PM, Henrique Mendonça wrote:
It will depend a lot on which language and server you are using but
normally the client will send the whole serialized data at once and wait
for the server return. There is no data lost in the void :)
There is also no streaming in Thrift, so the data to be sent is well
defined and server knows exactly what to expect.
If you need to implement a processing queue for a very slow server (or very
fast clients) I'd recommend you to do it outside the thrift server, so that
the thrift server thread[s] are free to process the upcoming requests.
I hope it clarified a bit
Best,
Henrique
On 20 April 2015 at 19:08, Deeraj <[email protected]> wrote:
Let me elaborate.
Suppose my server and clients are up and running. Ideally whatever data
the client transmits, the server will read it from the transport layer. In
such a case there is no data loss.
Suppose the server is reading the data in a slower rate compared to the
client's transmission rate, there is a chance for data loss.
Is such a case possible when we implement the server and client using
thrift ?
In case of message queue, the lost data will be held in the queue and the
same can be read later. Is there any such mechanism in thrift server/
client to read the lost data if such a case exists ?
I hope the question is clear now
On 4/20/2015 2:28 PM, Henrique Mendonça wrote:
Hi Deeraj,
Sorry, but you might need to elaborate a bit more your question. I am not
sure which queue or reading data you are talking about. Generally, there
is
no partially transmitted data, if that's what you're referring.
Regards,
Henrique
ps.: sockets are used on the transport level
On 20 April 2015 at 15:06, Deeraj <[email protected]> wrote:
Hi Henrique,
Suppose if I am using socket as my protocol. Will the data be there in
the
queue if the server fails to read the data ?
I have already implemented the server and client by reading the tutorial.
On 4/20/2015 10:19 AM, Henrique Mendonça wrote:
Hi Deeraj,
Apache Thrift can use sockets but need not. You are free to choose from
a
list of supported transports and protocols for each target language. You
can even use it only for data serialization if you want.
The documentation is unfortunately still a bit sparse but you can get
the
idea following the home page:
*Getting Started...*
- *Writing a .thrift file*
*After the Thrift compiler is installed you will need to create a
thrift
file. This file is an interface definition
<https://thrift.apache.org/docs/idl>made up of thrift types
<https://thrift.apache.org/docs/types> and Services. The services
you
define in this file are implemented by the server and are called by
any
clients. The Thrift compiler is used to generate your Thrift File
into
source code which is used by the different client libraries and the
server
you write. To generate the source from a thrift file run*
* thrift --gen <language> <Thrift filename>
*
*The sample tutorial.thrift file used for all the client and server
tutorials can be found here
<
https://git-wip-us.apache.org/repos/asf/thrift/?p=thrift.git;a=tree;f=tutorial
.*
*To learn more about Apache Thrift Read the Whitepaper
<https://thrift.apache.org/static/files/thrift-20070401.pdf>*
The above mentioned white paper is a good start, Randy's book is also
very
handy: http://www.manning.com/abernethy/
His first [free] chapter might cover some of your questions.
Cheers,
Henrique
On 20 April 2015 at 14:27, Deeraj <[email protected]> wrote:
Hi,
I would like to know the working of Thrift IDL, the underlying
architecture.I know that Thrift is using socket for communication.
I want to know whether if the server side is a bit slow to read the
data,
then whether there would be a data loss or will it be there in the
queue
?
--
Thanks & Regards,
Deeraj Soman
Senior Engineer - TBU | Embedded Product Design
TATA ELXSI
Technopark CampusKariyavattomTrivandrum 695 581India
Phone:+91 471 666 1124
Mobile: +91 9895703852
*www.tataelxsi.com* <
https://sinprd0410.outlook.com/owa/redir.aspx?C=qyQ5HANN90SvDNp5pyzlQgCjW3rPss8IRh9kaHIpdT-pocCvJc2bGjG5OjXXp8HUHmQTB2YZ2Kw.&URL=http%3a%2f%2fwww.tataelxsi.com%2f
--
Thanks & Regards,
Deeraj Soman
Senior Engineer - TBU | Embedded Product Design
TATA ELXSI
Technopark CampusKariyavattomTrivandrum 695 581India
Phone:+91 471 666 1124
Mobile: +91 9895703852
*www.tataelxsi.com* <
https://sinprd0410.outlook.com/owa/redir.aspx?C=qyQ5HANN90SvDNp5pyzlQgCjW3rPss8IRh9kaHIpdT-pocCvJc2bGjG5OjXXp8HUHmQTB2YZ2Kw.&URL=http%3a%2f%2fwww.tataelxsi.com%2f
--
Thanks & Regards,
Deeraj Soman
Senior Engineer - TBU | Embedded Product Design
TATA ELXSI
Technopark CampusKariyavattomTrivandrum 695 581India
Phone:+91 471 666 1124
Mobile: +91 9895703852
*www.tataelxsi.com* <
https://sinprd0410.outlook.com/owa/redir.aspx?C=qyQ5HANN90SvDNp5pyzlQgCjW3rPss8IRh9kaHIpdT-pocCvJc2bGjG5OjXXp8HUHmQTB2YZ2Kw.&URL=http%3a%2f%2fwww.tataelxsi.com%2f
--
Thanks & Regards,
Deeraj Soman
Senior Engineer - TBU | Embedded Product Design
TATA ELXSI
Technopark CampusKariyavattomTrivandrum 695 581India
Phone:+91 471 666 1124
Mobile: +91 9895703852
*www.tataelxsi.com*
<https://sinprd0410.outlook.com/owa/redir.aspx?C=qyQ5HANN90SvDNp5pyzlQgCjW3rPss8IRh9kaHIpdT-pocCvJc2bGjG5OjXXp8HUHmQTB2YZ2Kw.&URL=http%3a%2f%2fwww.tataelxsi.com%2f>