Thanks @[email protected] & @[email protected],

BTW what I am confused most is the usage of 'Binary' type for Throttle data
publishing as mentioned in Gateway, in api-manager.xml as belows.

<ThrottlingConfigurations>
        <EnableAdvanceThrottling>true</EnableAdvanceThrottling>
        <DataPublisher>
            <Enabled>true</Enabled>
            <Type>Binary</Type>
            <ReceiverUrlGroup>tcp://[Traffic-Manager-host]:9611</
ReceiverUrlGroup>
            <AuthUrlGroup>ssl://[Traffic-Manager-host]:9711</AuthUrlGroup>
...

And eventhough @[email protected] has mentioned that Thrift is a Binary
protocol, below configuration in
wso2am-2.1.0/repository/conf/data-bridge/data-bridge-config.xml confuses me.

<dataBridgeConfiguration>
..
..
    <dataReceiver name="Thrift">
        <config name="tcpPort">7611</config>
        <config name="sslPort">7711</config>
        <!--<config
name="sslEnabledProtocols">TLSv1,TLSv1.1,TLSv1.2</config>-->
        <!--<config
name="ciphers">SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</config>-->
    </dataReceiver>

    <dataReceiver name="Binary">
        <config name="tcpPort">9611</config>
        <config name="sslPort">9711</config>
        <config name="sslReceiverThreadPoolSize">100</config>
        <config name="tcpReceiverThreadPoolSize">100</config>
        <!--<config
name="sslEnabledProtocols">TLSv1,TLSv1.1,TLSv1.2</config>-->
        <!--<config
name="ciphers">SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</config>-->
    </dataReceiver>

</dataBridgeConfiguration>

So it is like, API Manager uses tcp port 7611 for Thrift and tcp port 9611
for Binary. So probably Thirft and Binary are two different protocols. I
would like to find a comparison between these two. And I am searching for a
reference about this 'Binary' type as mentioned above.

Highly appreciate a response on this issue.

Thanks

On Mon, Jul 16, 2018 at 10:17 AM, Viduranga Gunarathne <[email protected]>
wrote:

> Hi Randy,
>
> As @Dushani Wellappili <[email protected]> has mentioned, WSO2 API
> Manager mainly uses the *Thrift *and *WebService* protocols for
> communication. (Eg: Communication between Gateway and Key Manager in an API
> Manager distributed deployment).
>
> However, Thrift is not recommended to be used in a production environment,
> specifically when fronting a key manager cluster by a load balancer such as
> Nginx+. The reason for this is that most of the load balancers do not have
> session-awareness. Hence it is recommended to use *WSClient *intead of
> * Thrift.*
>
> *Thrift * is a service released as an open source Apache project and it
> was designed to compete with *SOAP * and *REST*. It was introduced with
> the intention of including
>
>    - Scalability
>    - Simplicity
>    - Speed
>    - Evolution
>
> Please find the below resources in addition to the ones stated by Dushani,
>
> [1] https://wso2.com/library/articles/2015/01/wso2-api-manager-deployment-
> customization-and-troubleshooting-part-02/
> [2] https://nordicapis.com/microservice-showdown-rest-vs-
> soap-vs-apache-thrift-and-why-it-matters/
>
> Thanks,
> Viduranga.
>
> On Thu, Jul 12, 2018 at 8:51 PM Dushani Wellappili <[email protected]>
> wrote:
>
>> Hi Randy,
>>
>> WSO2 API Manager uses either Apache Thrift [1] [2] [3] which is a binary
>> communication protocol or Web Service calls for the communication between
>> gateway and key manager. The default communication protocol of key manager
>> is Thrift. You can find more information on that from here
>> <http://thrift.apache.org/static/files/thrift-20070401.pdf> as well.
>>
>> [1] https://en.wikipedia.org/wiki/Apache_Thrift
>> [2] https://thrift.apache.org/
>> [3] https://github.com/apache/thrift
>>
>>
>> Regards,
>>
>> *Dushani Wellappili*
>> Software Engineer - WSO2
>>
>> Email : [email protected]
>> Mobile : +94779367571
>> Web : https://wso2.com/
>>
>>
>>
>>
>> On Thu, Jul 12, 2018 at 11:11 AM Randy Adams <[email protected]>
>> wrote:
>>
>>> Hi devs,
>>>
>>> When reading through wso2 documentation I see that two protocols called
>>> 'Thrift' and 'Binary' are used for certain communication scenarios in API
>>> Manager. i.e. Throttle data publishing, Key Validation. [1]
>>>
>>> But I cannot see any outside external sources about these two protocols.
>>> So are these two protocols, just WSO2 Specific ( introduced by WSO2) ? If
>>> not, please provide references describing about these two protocols.
>>>
>>> [1] https://docs.wso2.com/display/AM210/Deploying+WSO2+API-M+in+
>>> a+Distributed+Setup#single-Key-Manager-GW
>>>
>>> --
>>> Thanks & Regards,
>>> Randy
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>
>
> --
> Regards*,*
> *Viduranga Gunarathne*
> *Software Engineer*
> *WSO2 (Pvt) Ltd.*
>
> *Mobile : *+94712437484
> *Email   : *[email protected]
> *Web     : *http://wso2.com
> *Blog    : *http://medium.com/vlgunarathne
> <http://wso2.com/signature>
>



-- 
Thanks & Regards,
Randy
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to