I was looking for a microservice orchestrator for one of my projects and came across Temporal. I went through the documentation and different video tutorials. I had a few queries.
- Most of the activities for my requirement will have to make external API calls and the workflow completion time is important. Given these requirements, should I use Local Activities to execute the API calls as they give better performance? Can I use Local Activities for long-running activities like API calls or is it used only for short-lived activities like in-memory processing?
- I went through the Kubernetes deployment documentation in https://github.com/temporalio/helm-charts. It says we should not use it for production deployment. What are the changes required in this (other than the number of replicas) to be production-ready? Is there any documentation I can refer to for production deployment?
- In some of the video tutorials, it was mentioned that, for High Availability, we can setup Cadence Service across multiple data centers. Are Global Namespaces used to achieve this?
- Global Namespaces are active-passive setup. Is there a way to set up Temporal Service in an active-active mode? For example, can I deploy Temporal Service on DC1 and DC2 which is backed by a Cassandra with a multi-datacenter setup?