How WSO2 API manager implements microservices service discovery and service
registry feature
In API manager 3.0.0 release you can discover micro-services deployed in kubernetes.
https://docs.wso2.com/display/AM300/Discovering+Service+Endpoints
Related
How do I upload the API I created in WSO2 Integration Studio installed on my own computer to the WSO2 API Manager on the remote server.
From the Add new server menu, I clicked the WSO2 Remote Server option under WSO2 and entered the host and server URL information, but it did not publish. When I examined WSO2's own documents, I could not find detailed resources about connecting to a remote server and publishing.
Can you help with this?
Can you add your integration studio version and WSO2 Api Manager version?
You can try this documentation https://apim.docs.wso2.com/en/latest/integrate/develop/working-with-service-catalog/
You can register the service in the service catelog as below.
Start the WSO2 Micro Integrator pointing to API Manager.
You should have the carbon app of that particular service in the Micro Integrator.
When Micro Integrator starts it registers the available services in the API Manager.
From logging into the APIM publisher you can create an API.
Instructions are available here - https://apim.docs.wso2.com/en/latest/integrate/develop/working-with-service-catalog/
I like to installing wso2 api manager in a cluster.Is it possible to create two api manager server in same cluster.
You can configure 2 API Manager nodes in Active-Active. Both starts accepting traffic routing, API creation, etc.
Please refer -
https://apim.docs.wso2.com/en/latest/install-and-setup/setup/single-node/configuring-an-active-active-deployment/#configuring-an-active-active-deployment
and trying to deploy micro-services build in spring boot on aws but didn't know which aws service is suitable for perticular spring micro-service(Could Config, Service Discovery, Api Gatway, and vault).
I build an api gateway service on spring boot, but when it comes to deployment on aws i got confused with the aws api gateway.
Do we need both of the to work together? or we can just setup springBoot Api gatway on ec2 instance.
And its out of context but, do we need separate ec2 for small service like 'Service Discovery', 'Config Service' etc.
thanks
API Gateway is just a kind of routing to your application, no matter if it is hosted on serverless platform or on EC2 container.
You can try to deploy your Spring Boot app on AWS Lambda environment and this way you don't have to think of configuring the server environment. You have to be awarded the cold start of the application in this case. You can google more about it how to solve this problem.
API Gateway is like facade in front of your microservices for communication with external services. There are several ways to use/implement API gateway depending on requirements such as Request Routing, API composition(calling multiple services and combining responses), Authentication, Caching etc.
AWS API gateway is good if you need request routing feature but it can't perform API composition. In such case you need to implement your own custom API gateway using technologies such as Spring Cloud Gateway & Reactive programming.
GraphQL is another popular technology to implement API Gateway.
P.S. - Service Discovery is another concept. In real life you will use Kubernetes or Service Mesh which will internally do Service Registry and Discovery.
Is there support for Azure integration to deploy and manage WSO2 products, specificaly Elastic Load Balancer. I am also curious if JCloud and Apache Stratos support Azure as an IAAS ?
Thanks
--Mahesh
jclouds Azure support is in the works and scheduled to be released with version 2.0. You can track progress here: https://issues.apache.org/jira/browse/JCLOUDS-664
Once jclouds starts support Azure, this will indeed add Azure support in Apache Stratos, WSO2 Private PaaS, WSO2 App Factory - since these rely on jclouds for IaaS support.
For other WSO2 products, if you do not need the IaaS support and just want to deploy them on VMs in Azure (without autoprovisioning, autoscaling, etc.) you might be able to do so already. I have not tried using Azure ELB specifically but have configured WSO2 stuff with various different load-balancers (WSO2 ELB, AWS ELB, nginx, etc.) and they worked. So Azure ELB might as well, if not - you can probably run nginx in Azure just fine too.
If I have some functionality I want to expose via REST in the WSO2 Application Server and it seems that I have two main choices:
Deploy as a JAX-RS Application
Deploy as a Service
When deploying as a service, it appears that I have options for Quality of Service that don't appear to be available for Applications.
Question: If I am creating a REST based functionality from scratch, should I prefer to design as a service rather than as an application, because the service has more flexibility?
In WSO2 Application Server there are two approaches to create RESTfull services.
Create RESTfull service using Axis2, then you should deploy them as "service"
Create JAX-RS spec based service using CXF, then you should deploy them as "JAX-RS" applications.