Scale Tomcat in Microsoft Azure

I am working on this quiet time, but still disagree.

I want to do horizontal scaling of Tomcat instances in Microsoft Azure (1,2,3, ... Tomcat instances for one service). I read a lot of articles about session replication, clustering, ... with Tomcat. Since Azure does not support Multicast, there is no easy way to group Tomcat. In addition, sticky sessions are not parameters because Azure does circular load balancing. Setting up two services - one with Terracotta or Apache mod_jk, and the other with Tomcat instances seems redundant to me (if even doable) ...

Is it possible?

Thanks in advance for reading and answering my question. Every comment / idea is much appreciated.

+4
source share
3 answers

Will there be a new appFabric caching service that you could use, or Memcache examples on Azure, will this help?

http://code.msdn.microsoft.com/winazurememcached

+1
source

Why do you think that the implementation of 2 services is an excess, exactly? Unless you have problems scaling up to n Tomcat instances, adding another service for load balancing is an acceptable solution in my book. By running this service on at least 2 copies, this service meets the requirements of the Azure SLA: your uptime is as good as on Azure, and you avoid SPoF (the only point of failure).

You can go with a product like terracotta, but it's pretty simple to write a simple socket server to redirect HTTP sessions to a specific instance running on Windows Azure. You would need to know about node recyles, but that is perfectly doable.

Keep in mind that memcached requires another Azure service (web roles), the appFabric caching service does not (but also has associated costs). I donโ€™t know Tomcat, but for IIS you can easily change the session state from memory to permanent (either SQL Azure or Azure Storage). Something you need to know about: For sites with large volumes, the transaction cost for Azure Storage can actually become a cost driver for your deployment if you store session information there. SQL Azure may be a more economical solution, but on the other hand, a turnkey solution for your solution may not be supported.

+1
source

I do not think you can run Tomcat on Azure. Even if you could (using the virtual machine role), it's probably cheaper to run it on a Linux virtual machine on Amazon EC2.

Edit

I see that this is possible with Tomcat Solution Accelerator. But look at the disclaimer:

This solution accelerator is for informational purposes only and Microsoft or Infosys makes no warranties, express or implied

This is an unsupported solution. I know that it is often difficult to challenge management decisions. But when using unsupported production system software when a cheaper supported alternative is available, this is usually not a good idea.

0
source

Source: https://habr.com/ru/post/1335477/


All Articles