Does Apigee have ESB capability ? The ability to hold message and reprocess it? Different from Cache

What if destination back-end system and consuming system are sending message or information and one of them is down or not available. What do you do and how do you handle that ? Does Apigee have capability to solve such a situation.

0 6 1,204
6 REPLIES 6

Sorry for asking after its "solved".

But i feel the question is not answered. i guess the question was ESB capability.

The question is about persistance.

Scenario:

Backend's primary and Disaster Recovery systems are down for X hours and we need to hold the records in middleware (apigee) as cache and later push to backend when it is up.

1. Is above practical?

2. Is it a good practice without a so called "ESB"?

Thanks & best Regards

Sujith Mathew

@Sai Saran Vaidyanathan Sujith has phrased my scenario well. To your knowledge is setting up health monitoring still the best answer?

Thanks for clarifying. I thought you wanted Apigee to check the health of the target.

To answer your question - Apigee is a gateway. To solve that problem you raised, you can use a Messaging service like Google Pub/Sub or Kafka - only when the target server is not responding (add this to the response flow when the target returns a 5xx). From there, once your services are up, you can push it to your back end. Or else you could have another Subscriber to that Topic that can update the backend so that your data is up to date in the backend.

This capability is not built in within Apigee and I would NOT recommend Apigee Cache for this use case.

Not applicable

I guess ESB uses the Message Queue to store the messages. May be you need to use the similar approach. You may need to use the proxies to send the messages to queue and then your service can listen on queues. You can wait for someone from apigee team to respond for appropriate answer.