[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Java Application Load Balancing & HA

Posted on 2003-03-20
9
Medium Priority
?
232 Views
Last Modified: 2010-03-31
I have written a network filter application which will filter some packets and forward to another host. It is quite similar to a HTTP proxy server.

The application is running very smooth. However, i need to do some changes so that i can be run in load balancing and high availability.

In this case, i think there are at least 2 JVM will be created. How can i share the information in my program, for example, i have used a Hasttable to store some rule of the filter which are updated dynamically according to the incoming packet.

What can I do and how can i do that?

Thank you very much.
0
Comment
Question by:matchz
  • 4
  • 3
  • 2
9 Comments
 
LVL 9

Accepted Solution

by:
Ovi earned 1000 total points
ID: 8173192
If you are speacking in terms of multiple JVM's, the solution is multicasting ..., make every application instance to listen on a special multicasting port. The application will contain two parts: emiter - will broadcast to opened instances
                   receiver - will receive broadcasted packages.
The receiver should ebe smart enough to know which packages are sent by it's own application emiter and which by other application instances. To solve this, the emiter should broadcast a unique id among with real data ...
0
 
LVL 9

Expert Comment

by:doronb
ID: 8191382
I suppose you can use RMI in order to connect your multiple JVM's. A good idea would be to check Sun's RMI tutorials: http://java.sun.com/docs/books/tutorial/rmi/index.html

Hope this helps,
Doron
0
 

Author Comment

by:matchz
ID: 8200755
Actually, my idea is a little bit different to RMI. RMI is about a JVM to invoke methods in another JVM. However, I would like the end-users to run an application which supports clustering. The performance of the applications can be increased by the number of hardwares.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
LVL 9

Expert Comment

by:Ovi
ID: 8200796
What about advanced app specific multicasting?
0
 

Author Comment

by:matchz
ID: 8203836
Hi Ovi, what is advanced app. specific multicasting?
I have no idea about it, would you please feel free to give more information about that?
0
 
LVL 9

Expert Comment

by:Ovi
ID: 8208389
What I mean was to implement a specific type of multicasting protocol based on your application requirements. I refer only to how you send packages to others, what they means, how they must react on a specific multicast command and stuff like that.
0
 
LVL 9

Expert Comment

by:doronb
ID: 8208680
RMI is about distributed computing in Java. JVM's expose objects that render services, it doesn't matter where the JVM is running on. RMI simply hides the communication layer that you would otherwise have to implement yourself using Sockets.

Multicasting is the ability to join a group of processes that connect with one-another through the group's multicast IP. (Clustering with Multicasting would mean that all the processes join a group IP (e.g. 239.25.25.25:6789) and whenever any process broadcasts to this IP, all group memebers can get the message)

Hope this helps,
Doron
0
 

Author Comment

by:matchz
ID: 8244652
I will try to work out on this idea.
Thank you very much.
0
 
LVL 9

Expert Comment

by:Ovi
ID: 8244769
Me too.
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses
Course of the Month11 days, 1 hour left to enroll

612 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question