synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Heshan Suriyaarachchi (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (SYNAPSE-330) Load balancing with session affinity using the soap session is not working
Date Thu, 24 Jun 2010 05:06:51 GMT

    [ https://issues.apache.org/jira/browse/SYNAPSE-330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882043#action_12882043
] 

Heshan Suriyaarachchi edited comment on SYNAPSE-330 at 6/24/10 1:05 AM:
------------------------------------------------------------------------

Hi, 
   I developed a sample to demonstrate session affinity load balancing with soap session.
It is attached to the issue SYNAPSE-638. I ran the sample and grabbed the messages on wire
with tcpmon. Following are the messages;

1) Message from Client to Synapse: 
POST /services/LBService3 HTTP/1.1
Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation"
User-Agent: Axis2
Host: 127.0.0.1:8281
Transfer-Encoding: chunked
213
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c3</syn:ClientID>
         <wsa:To>http://localhost:8281/services/LBService3</wsa:To>
         <wsa:MessageID>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:MessageID>
         <wsa:Action>urn:sampleOperation</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
         <Value>v1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

2) Message from Synapse to Service:
POST /services/LBService3 HTTP/1.1
Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation"
Transfer-Encoding: chunked
Host: 127.0.0.1:9010
Connection: Keep-Alive
User-Agent: Synapse-HttpComponents-NIO
219
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c2</syn:ClientID>
         <wsa:To>http://localhost:9010/services/LBService3</wsa:To>
         <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:MessageID>
         <wsa:Action>urn:sampleOperation</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
         <Value>v1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

3) Message from Service to Synapse: 
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse"
Date: Thu, 24 Jun 2010 04:48:34 GMT
Server: Synapse-HttpComponents-NIO
Transfer-Encoding: chunked
Connection: Keep-Alive
30d
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <wsa:ReplyTo>
            <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
            <wsa:ReferenceParameters>
               <axis2:ServiceGroupId xmlns:axis2="http://ws.apache.org/namespaces/axis2">urn:uuid:A71A31B3873D8DBA5C1277354914251</axis2:ServiceGroupId>
            </wsa:ReferenceParameters>
         </wsa:ReplyTo>
         <wsa:MessageID>urn:uuid:cdcd420f-4f13-4633-9a75-bfd24426b0d5</wsa:MessageID>
         <wsa:Action>urn:sampleOperationResponse</wsa:Action>
         <wsa:RelatesTo>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:RelatesTo>
      </soapenv:Header>
      <soapenv:Body>
         <Value>Response from server: MyServer1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

4) Message from Synapse to Client: 
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse"
Server: Synapse-HttpComponents-NIO
Date: Thu, 24 Jun 2010 04:48:35 GMT
Transfer-Encoding: chunked
1f0
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2580436412153618638076</wsa:MessageID>
         <wsa:Action>urn:sampleOperationResponse</wsa:Action>
         <wsa:RelatesTo>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:RelatesTo>
      </soapenv:Header>
      <soapenv:Body>
         <Value>Response from server: MyServer1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

When observing the messages you can see that the ServiceGroupId reference parameter is not
passed back from Synapse to the client. Therefore session affinity load balancing with soap
session is not working in the synapse trunk. 

      was (Author: heshan):
    Hi, 
   I developed a sample to demonstrate session affinity load balancing with soap session.
It is attached to the issue SYNAPSE-638. I ran the sample and grabbed the messages on wire
with tcpmon. Following are the messages;

1) Message from Client to Synapse: 
POST /services/LBService3 HTTP/1.1

Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation"

User-Agent: Axis2

Host: 127.0.0.1:8281

Transfer-Encoding: chunked



213

<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c3</syn:ClientID>
         <wsa:To>http://localhost:8281/services/LBService3</wsa:To>
         <wsa:MessageID>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:MessageID>
         <wsa:Action>urn:sampleOperation</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
         <Value>v1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

2) Message from Synapse to Service:
POST /services/LBService3 HTTP/1.1

Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation"

Transfer-Encoding: chunked

Host: 127.0.0.1:9010

Connection: Keep-Alive

User-Agent: Synapse-HttpComponents-NIO



219

<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c2</syn:ClientID>
         <wsa:To>http://localhost:9010/services/LBService3</wsa:To>
         <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:MessageID>
         <wsa:Action>urn:sampleOperation</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
         <Value>v1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

3) Message from Service to Synapse: 
HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse"

Date: Thu, 24 Jun 2010 04:48:34 GMT

Server: Synapse-HttpComponents-NIO

Transfer-Encoding: chunked

Connection: Keep-Alive



30d

<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <wsa:ReplyTo>
            <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
            <wsa:ReferenceParameters>
               <axis2:ServiceGroupId xmlns:axis2="http://ws.apache.org/namespaces/axis2">urn:uuid:A71A31B3873D8DBA5C1277354914251</axis2:ServiceGroupId>
            </wsa:ReferenceParameters>
         </wsa:ReplyTo>
         <wsa:MessageID>urn:uuid:cdcd420f-4f13-4633-9a75-bfd24426b0d5</wsa:MessageID>
         <wsa:Action>urn:sampleOperationResponse</wsa:Action>
         <wsa:RelatesTo>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:RelatesTo>
      </soapenv:Header>
      <soapenv:Body>
         <Value>Response from server: MyServer1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

4) Message from Synapse to Client: 
HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse"

Server: Synapse-HttpComponents-NIO

Date: Thu, 24 Jun 2010 04:48:35 GMT

Transfer-Encoding: chunked



1f0

<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2580436412153618638076</wsa:MessageID>
         <wsa:Action>urn:sampleOperationResponse</wsa:Action>
         <wsa:RelatesTo>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:RelatesTo>
      </soapenv:Header>
      <soapenv:Body>
         <Value>Response from server: MyServer1</Value>
      </soapenv:Body>
   </soapenv:Envelope>
0

When observing the messages you can see that the ServiceGroupId reference parameter is not
passed back from Synapse to the client. Therefore session affinity load balancing with soap
session is not working in the synapse trunk. 
  
> Load balancing with session affinity using the soap session is not working
> --------------------------------------------------------------------------
>
>                 Key: SYNAPSE-330
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-330
>             Project: Synapse
>          Issue Type: Bug
>          Components: Endpoints
>    Affects Versions: 1.2
>         Environment: all envs
>            Reporter: Ruwan Linton
>            Assignee: Ruwan Linton
>             Fix For: 2.0
>
>
> Load balancing with the session affinity over the soap session is not working for the
moment because we need to propagate addressing headers to the client from the actual service
without modifying them (The wsa:Reply-To header with ServiceGroupId as a ReferenceParameters).
In order to support this proxy services should support engaging addressing which cannot be
done for the moment.
> Once it has been fixed we can test this and see how it goes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message