To μεν distributor είναι πρόγραμμα ανοικτού κώδικα, γραμμένο σε Java και εκτελείται ως ένα απλό Java πρόγραμμα που διαβάζει τις ρυθμίσεις του από ένα αρχείο. Υποστηρίζει αλγόριθμους round-robin, hash και HTTP cookie-based για την τήρηση του session affinity. Ενδεικτικά ένα configuration file του distributor δείχνει ως εξής:
<distributorΗ εμπειρία μου το distributor με άφησε ικανοποιημένο, υπήρξαν όμως και περιπτώσεις που η CPU φαινόταν απασχολείται σε εξαιρετικά υψηλό βαθμό όταν είχε να κάνει με διαμοιρασμό φόρτου σε SSL. Εκεί επιστράτευσα το balance που είναι εξαιρετικά απλό στην χρήση του και εκκινείται από command-line, για παράδειγμα ως εξής:
bindaddr="0.0.0.0"
port="2001"
terminate_on_disable="no"
half_close="yes"
connection_timeout="2000"
connection_failure_limit="5"
control_port="2501"
service_type="http">
<algorithms>
<algorithm name="hash" hash_timeout="1800000"/>
<algorithm name="roundrobin"/>
</algorithms>
<target_group>
<target hostname="host1" port="2001"/>
<target hostname="host2" port="2001"/>
</target_group>
balance -f 8888 host1:8888 host2:8888
που διαμοιράζει το φόρτο στο host1 και στο host2 και λειτουργεί ως foreground job. Αξίζει να σημειωθεί πως και το balance μπορεί να χρησιμοποιήσει τον αλγόριθμο hash για λόγους session affinity.
3 comments:
Μπροστά από τον application server έχεις apache httpd;
Hello,
Υπάρχουν και τα 2 για windows?
Έχω χρησιμοποιήσει και τα δυο εργαλεία για διαμοιρασμό σε Oracle WebCache, Apache HTTP και LDAP, οπότε σε κάθε περίπτωση μπροστά από τον Application Server είχα HTTP.
Το καλό είναι πως και τα δυο εργαλεία είναι ανοικτού κώδικα, ιδίως το distributor δεν χρειάζεται καν build, αφού είναι γραμμένο σε Java. Άρα, λογικά θα λειτουργεί και σε Windows.
Post a Comment