How is API throttling implemented? - wso2-api-manager

In API Manager products (WSO2 and Apigee) throttling can be configured but how is it implemented internally?
I tried going through the following code but could not find the implementation:
https://github.com/wso2/carbon-apimgt/tree/master/components/apimgt

Here are some resources.
https://wso2.com/library/articles/2016/06/article-introducing-new-throttling-feature-in-wso2-api-manager-2.0/
https://wso2.com/library/articles/2016/10/article-scalable-traffic-manager-deployment-patterns-for-wso2-api-manager-part-1/
https://wso2.com/library/articles/2016/10/article-scalable-traffic-manager-deployment-patterns-for-wso2-api-manager-part-2/
http://sanjeewamalalgoda.blogspot.com/2016/09/wso2-api-manager-new-throttling-how.html
https://chamindias.wordpress.com/2019/07/16/throttling-in-wso2-api-manager/
https://github.com/wso2/carbon-apimgt/tree/master/components/apimgt/org.wso2.carbon.apimgt.throttling.service
https://github.com/wso2/carbon-apimgt/tree/master/components/apimgt/org.wso2.carbon.apimgt.jms.listener
https://github.com/wso2/carbon-apimgt/tree/master/components/apimgt/org.wso2.carbon.apimgt.throttling.siddhi.extension

Related

How to use Pact Broker badges

It seems I'm missing something vital but I cannot see that the badges are available for my pacts at the URI's given in the examples here: https://github.com/pact-foundation/pact_broker/wiki/Provider-verification-badges
Namely: https://your-broker/pacts/provider/PROVIDER/consumer/CONSUMER/latest/badge.svg
(PROVIDER/CONSUMER are replaced with existing values)
I simply get a 404 response when trying to access.
I'm using pact-jvm v3.5.7 and pactbroker v2.6.0.
What I'm I not understanding?
I think 2.6.0 had the badges turned off by default for privacy reasons. I've recently enabled them by default as I think the benefits outweigh the negatives. Upgrade to the latest version of the broker, or set enable_badge_resources = true in the Pact Broker configuration (config.ru).
While you're at it, check out the badges config section in the wiki. https://github.com/pact-foundation/pact_broker/wiki/Configuration#badges
Setting the property enable_badge_resources = true as suggested did the trick. Thanks!

API Equivalent for Sabre host command WPNCS

Could you please help me to find API Equivalent for Sabre host command WPNCS (Search for lowest fare even if not
available)
but can't find correct request in API docs
Please Help!
Check OTA_AirPriceLLSRQ
https://developer.sabre.com/docs/read/soap_apis/air/book/price_air_itinerary
The request design document shows a reference to WPNCS:
http://webservices.sabre.com/drc/servicedoc/OTA_AirPriceLLSRQ_v2.12.0_Design.xml
Note that you can do the same from the orchestrated booking service (EnhancedAirBook):
http://files.developer.sabre.com/doc/providerdoc/ServicesPlatform/EnhancedAirBookRQ_v3.6.0_Design.xml

DataPower monitoring or validation techniques

How to improve datapower monitoring ? I want to improve our monitoring techniques say for example, want to check that all objects (FSH /MQFSHs, SSl proxy, crypto profile etc) are up and incase if it goes down , should be notified by email or something. checking number of files in file management ondisk folders.Basically validate the adapter after deployment (we use soapUi to test adapter functionality, however something else to improve or added validation).please suggest any ideas that can be implemented as a process improvement on Datapower
For example you can get the status off all your domains using this soma call. You can test this using soap UI. You can get the list of various soma calls using the datapower mgmt wsdl (available in datapower store directory).
<!-- get all the domains -->
<xsl:variable name="domainsList">
<dp:url-open target="{$XML-MGMT-URL}" response="responsecode">
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<dp:request xmlns:dp="http://www.datapower.com/schemas/management">
<dp:get-status class="DomainStatus"/>
</dp:request>
</env:Body>
</env:Envelope>
</dp:url-open>
</xsl:variable>
Try using SOMA commands of XML management interface to check the object status.
I am not sure if this is the best approach but this is how i have implemented it. You can always create a testing service in DataPower with/without interactive java application to perform all the soap test you are performing using soapUI. You can perform SOMA/AMP calls to check the status of objects, ping external services, etc. You can schedule these test on a regular interval or manual.
Depending how you set it up, you can either generate an email with status of each object/service you are testing or create a html dashboard that records the current status of everything.

Fi-Ware cygnus configuration

I'm trying to configure the file cygnus.conf, but, I don't know the FQDM/IP of the Namenodes, hive sever and CKAN API endpoint.
I was search in the catalogue and forge, and I can't see anything about that.
thank you, and the best reggarts.
For the Namenode and the Hive server just use the same endpoint you used to setup your Cosmos account: http://cosmos.lab.fi-ware.org. Regarding CKAN, I'm not sure there is a public CKAN instance running in FI-LAB. Let me check it.

WSO2 Enterprise Store

I am trying to create a mobileapp store using WSO2 ES 1.0.I have installed all the prerequisites.I will have to create a new Asset for mobileapps as per documentation.
I am trying to access the admin URL: 9443/admin/carbon/ but getting error:
"Network Error (tcp_error)
A communication error occurred: ""
The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.
For assistance, contact your network support team. "
My wso2server.bat is running and I am able to access the store using URL:https://192.168.XX.XX:9763/store but due to the above error I cannot register as a user and hence cannot download anything from the store.
Could there be a problem with my TCP port? Is firewall related to this? Any help?
Try on this.
https://localhost:9443/admin/carbon/
seems you have missed https on it..

Resources