I have installed the 7.1.1 Talend Data services version in 2 Talend runtime .
I create a demo services with no specific endpoint and service locator and name space used in the tRestRequest component.
I deploy the service in cluster mode with virtual server.
I see the service in the 2 serveurs with 2 different endpoints IP1:8040/services/customers and IP2:8040/services/customers.
How can I configure the HA to call the service:
- use name space
- setup / fixed the endpoint IPort but how can call them on my network architecture
- other solution
on the server side you did all things right (reading through the things you did). From your description it looks like you have two instances of your service, they both register to the Service Locator and they both are active.
Means it looks like the missing piece is the client side in your question. For pure ESB clients you can use tRESTClient (or cREST) with the Service Locator option enabled and using the same 'logical' service name as you defined on the provider side. By this, the clients will automatically find the Service and all available endpoints. If one provider stops the client will automatically switch to the other one (without a failure on the client side) and if you bring more provider up in future the clients will automatically make use out of them.
That said, non-ESB Clients (plain REST Clients) would still need a load balancer in front of your providers where you can either use a Route with cLoadBalancer or a route with a cREST (acting as provider) connected to a cREST (acting as a SL enabled client) or you go with a 3rd party load balancer (software or hardware).
Thanks for your answer. It is very helpfull and complete my mindset.
About using Service locator with SOAP services, how can I implement them.
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Learn how to use an API-First Approach to Modernize your Applications
Take a look at this technical overview video of Talend API Designer
Find out how to get started with APIs