Has anybody implemented WSO2 to AKS integration (microservices in AKS)? - wso2

There is a lag introduced between the WSO2 and the microservice layer running on AKS. Tried to tweak every single parameter recommended by WSO2 but there are slight improvements only. Can anyone help?

Related

WSO2 api manager 2.1.0 clustering

I am trying to setup WSO2 api manager(as windows service) with clustering, used steps at the end of the page found at this link.
https://docs.wso2.com/display/CLUSTER44x/Clustering+API+Manager+2.0.0
<clustering class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"
enable="true">
I have 2 nodes in a load balancer, I have all 4 components(Publisher
,Store,Key Manager,Gateway) on both nodes. When setup individually, both nodes work.
However, when clustering is enabled, store does not replicate from one node to another. I have hosts file updated as needed. I tried making several changes to axis2.xml, api-manager.xml; some of these changes cause api manager to stop working altogether.
Does anyone have suggestions for a successful clustering setup? Is there something that is needed, is not mentioned in the steps mentioned at above link?
I think the documentation that you are following is not the relevant one. If you are clustering WSO2 API Manager 2.1.0 version please use API Manager 2.1.0 clustering docuemntation which is inside the API Manager product documentation itself.

WSO2 BRS to ESB

newbie on ESB and BRS here.
Below message was displayed in WSO2 download page for BRS:
IMPORTANT NOTICE
The WSO2 Business Rules Server (WSO2 BRS) was created as a mechanism to host standalone business rules services. We no longer believe it is well suited for others to use directly, and as such it will no longer be available for download.
We currently have the ability to execute business rules within WSO2 ESB, and we encourage you to continue to use the WSO2 ESB to create business rules services.
If you are currently using WSO2 BRS as a standalone product please contact us
We will of course support it as needed or help you migrate to the right higher level product.
How can I implement this example I saw on youtube https://www.youtube.com/watch?v=O-D2Hgdrzs8 using WSO2 ESB because BRS is no longer promoted.
I don't know also if I got it right, but my understanding is that the mediators like rule mediator is the best fit solution to implement business rules in ESB now. Am I right?
I hope you can help me how to translate the video tutorial from using BRS to ESB in WSO2, or at least if you know some good sites to read and use as reference, then I am happy to visit them as well.
Thank you in advance.

High CPU utilization in WSO2 ESB

We are using WSo2 ESB 4.9.0 and our application setup is as follows.
1)Deployed mediator project which has java code to connect MQ(JMS)
2) Mediator project invokes ESB api and ESB api further invokes another ESB API asynchronously. The first api with java mediator project & second api are deployed in different servers
3) The first api has one java rest based micro service and second api has 7 micro services orchestration is done
4) Now we are frequently seeing high cpu utilizations in these two ESB servers and thread dumps are no giving any clue.
All our servers are 8GB RAM and 4 core machines.
Appreciate if anybody can guide me how to troubleshoot these problems
With out details of the Services and configurations its difficult to give an answer. Please look at following references to troubleshoot the issue further.
http://prabu-lk.blogspot.com/2016/05/how-to-monitor-thread-cpu-usage-in-wso2.html
http://sanjeewamalalgoda.blogspot.com/2015/02/how-monitor-wso2-server-cpu-usage-and.html

WSO2 Identity Server 5.0.0 clustering with Oracle Coherence

Halo everybody (maybe Asela? :),
Can anyone guide me how can I implement Oracle Coherence as a Cache provider with WSO2 Identity Server 5.0.0 clustered using with WSO2 ELB?
I found some very useful links on that topic, from which I consider this one as a good start: Clustering Identity Server
But I cannot find a way how to find solution for changing Hazelcast cache provider for any other provider.
I also realized, WSO2 is not using javax.caching implementation from JDK (since it was introduced in 1.7 and later), it is using its own based on JSR-107 (from which JSR I suppose Java JDK JCache is originated.
This article shows, that there is a way, how to somehow implement user JSR 107 JCache, but I don't see it configured for whole Identity Server:
WSO2 Multi-tenant Cache: JSR-107 (JCache)
I'm expecting answer which will guide me, what to change or add (for instance to carbon core) and where to setup / configure those changes, to make them global used within WSO2 Identity Server 5.0.0.
I hope it is relevant question and since this Carbon based platform is very rich and configurable, I hope this will be possible with some time invested.
Thank you in advance,
Josef
Coherence supports the real JCache APIs, so if WSO2 uses JCache, it should be easy to integrate Coherence!

What is the best practices for WSO2 ESB in perticular XSLT transformations

I am working on WSO2 ESB 4.0.3 on MAC OS X Lion (10.7.4)
I would like to know what are the best practices for development for WSO2 ESB 4.0.3.
Currently I am using Data Services Feature in it and existing tomcat application, which we are trying to port to WSO2 ESB, does the SQL query in 2-3 seconds where as WSO2 ESB 4.0.3 with Data Services feature taking around 16-17 secodns.
I would be thankful if some body can let me know best practices for WSO2 and in perticular XSLT transformation.
Hoping for answer.
thanks
Hi Prabath
Here is how my environment is
I am using WSO2 ESB 4.0.3 with Data Services Feature 3.2.2. Proxy service front ends the DS service. Data sources are defined as carbon data sources in datasources.properties.
I tried to run the same service in the WSO2 Data Services Server 2.6.3 and the performance is comparable to what existing tomcat application does but the ESB 4.0.3 with Data Services Feature 3.2.2 takes 8 times more time than tomcat application. Looks like XSLT is not a issue as I thought earlier.
I have all the error handling & input validation in the proxy service which calls this DS.
Also I tried changing it to local for the transport but still same performance issue. Also I have to make sure the format of the forwarded XML is SOAP 12 in the end point definition otherwise proxy service does not forward with local transport.
Can you please suggest so that I can use WSO2 ESB with Data Services Feature 3.2.2 and get comparable performance?
Help really appreciated.
thanks
Abhijit
Hi Prabath
Thanks for reply.
Proxy service validation and transformation is not a problem. Looking at the logs it looks like Data Service deployed in ESB with Data Services feature is taking 8 times more time than the tomcat application. So it is Data Services Feature which is problem I believe and not the proxy service.
Even if we remove the proxy service where you will do the input validations and error handling?
Please let me know.
thanks
Abhijit
Abhijit,
I'm not quite clear of whether this problem is related to executing SQL using dbReport/dbLookup mediators against doing the same thing having data services features installed in ESB OR transforming responses using XSLT at the ESB layer against doing it at the DSS layer.
If it's the former, then you should be able to effectively use the db mediator pair (namely dbLookup and dbreport) to execute simple SQL queries such as SELECT, INSERT, UPDATE, DELETE, etc. However, it is not recommended to do use those mediators to do much complex queries such as stored procedures with "OUT and INOUT" parameters etc as WSO2 DSS is specifically designed to serve any sort of complex queries like that. However, this (using data services) comes at the cost of network latency. Because, you're invoking a data service endpoint through the network which obviously adds the network latency to the end-to-end time taken to get your task done. However, if you're using Data Services features installed in the WSO2 ESB, you always have the option of using "local" transport instead of "http/https" which does an in-JVM call and thus would not dispatch the request over the network.
If this is related to the later, meaning, if you refer to the XSLT transformations, I believe there's no such hard and fast rules in doing this and this would completely depend on your requirements and the usecase. For example, if you're only using WSO2 DSS and want to get some request transformed into a particular format that is expected by the client side, it would only be enough for you to get it done at the WSO2 DSS layer. Because, dispatching it into ESB ONLY for the sake of getting the XSLT transformation done, would add an additional unwanted overhead to the end-to-end completion time of your task. On the other hand, if you're doing this as a part of a configuration flow at the ESB side, then it's perfectly okay to use something like XSLT mediator inside the flow itself.
Hope this helps!
Regards.
Prabath
I hope Prabath already gave the answer to your question.
However, it is not recommended to do use those mediators to do much complex queries such as stored procedures with "OUT and INOUT" parameters etc as WSO2 DSS is specifically designed to serve any sort of complex queries like that. However, this (using data services) comes at the cost of network latency. Because, you're invoking a data service endpoint through the network which obviously adds the network latency to the end-to-end time taken to get your task done. However, if you're using Data Services features installed in the WSO2 ESB, you always have the option of using "local" transport instead of "http/https" which does an in-JVM call and thus would not dispatch the request over the network.