Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Range - The IP address range or the domain is restricted from accessing the service. Requests from such clients will be restricted based on the specified values.
  • Type - This indicates the type of Range. It can be IP or DOMAIN. It should be IP if the range is given as a single IP address or a range of IP addresses (for example, 10.100.1.30-10.100.1.60). It should be DOMAIN if the range is given as as a domain (for example, *.wso2.com). If you specify configurations types of both IP and DOMAIN, first priority will be given to DOMAIN level configurations.
  • Maximum Request Count (MRC) - If  Access is set to Control, it will be the maximum number of requests that are served within the time interval specified by the Unit Time parameter.
  • Unit Time (UT) - The time period in milliseconds during which the maximum requests served. This is the number specified by the Maximum Request Count. The throttle starts counting the number of units from the moment it is enabled and the number of requests served within that period.
  • Prohibit Time Period (PTP) - If the maximum request count is achieved before the unit time, this is the period during which no more requests are allowed to go in. By setting this value, the unit time slot is altered.
  • Access
    • Allow - Means that no restriction is applied for that range and all requests are allowed to go in as they come in.
    • Deny - Means that access is completely denied for that range.
    • Control

      Info
      titleTip

      When the Access is set to Allow or Deny, MRC, UT and PTP parameters are not necessary and the said fields are deactivated. If it is Control, then the specified constraints are applied for that particular range.

...

  • Finish - Click "Finish" to submit the current data. When finished, your throttle configuration will be applied and the page will be redirected to the previous page.
  • Reset - Click "Reset" to load the last submitted configuration.
  • Default - Click "Default" to load the default throttle configuration. If you want to submit those data, you have to click Finish.
  • Clear - Click "Clear" to clear all the text boxes in the user interface.
  • Cancel - Click "Cancel" to go to the "Service Dashboard" page.

Setting up throttling prior to service deployment

To configure throttling to a service before deploying it, add your throttling configuration in an XML file by the name <service name>_services.xml and save it in <ESB_Home>/repository/deployment/server/<folder_of_the_service_type>For example, to define throttling to a data service by the name CSVSampleService, create CSVSampleService_services.xml in <ESB_Home>/repository/deployment/server/dataservices folder.

Code Block
languagehtml/xml
<service name="CSVSampleService"> 
  <module ref="wso2throttle"/>
  <wsp:Policy wsu:Id="WSO2ServiceThrottlingPolicy">
   <wsp:ExactlyOne>
     <wsp:All>
      <throttle:ServiceThrottleAssertion>
         <wsp:Policy>
           <throttle:ID throttle:type="DOMAIN">10.100.0.205</throttle:ID>
           <wsp:Policy>
             <throttle:Control>
               <wsp:Policy>
                 <throttle:MaximumCount>2</throttle:MaximumCount>
                 <throttle:UnitTime>20000</throttle:UnitTime>
                 <throttle:ProhibitTimePeriod wsp:Optional="true">30000</throttle:ProhibitTimePeriod>
               </wsp:Policy>
             </throttle:Control>
           </wsp:Policy>
         </wsp:Policy>
         <wsp:Policy>
           <throttle:ID throttle:type="DOMAIN">other</throttle:ID>
           <wsp:Policy>
             <throttle:Allow/>
           </wsp:Policy>
         </wsp:Policy>
      </throttle:ServiceThrottleAssertion>
     </wsp:All>
   </wsp:ExactlyOne>
  </wsp:Policy>
</service>
Excerpt
hiddentrue

Instructions on how to manage throttling foe services in WSO2 ESB.