Mod_jk vs mod_cluster vs mod_proxy_ajp for Apache-based ATG Load Balacning

We are currently using mod_jk for load balancing our ATG Commerce Page Servers running on JBoss.
There are many nice things about mod_jk: ajp support, jkstatus adminstration ability, performance, etc.
However, there is a deficiency with mod_jk: It cannot accurately tell when a JBoss node is unavailable to serve pages! mod_jk only looks for a TCP ping response from JBoss, it does not have any ability to check a "health" page and understand situations like: App server out of memory, applicaiton not deployed even though the server is available, no threads available on the server, server shutting down or starting up, etc. From what I see, mod_jk will direct users to application servers that are in any one of these invalid states. Sending a user to a server that is not ready to serve content is not ideal.
Because of the issues with mod_jk, I have started looking at other alternatives that can:
1. More accurately determine the health of the application to load balance in a superior manner than mod_jk (i.e. tell if the app server is out of memory, deploying, going up/down, etc)
2. Meet or exceed the performance characteristics of mod_jk (which probably means continuing to use AJP)
3. Have an way to drain sessions of users on a particular node to allow for rolling deploys by taking specific Jboss nodes out of the cluster temporarily, applying the update, testing the update by directly accessing Jboss and then adding the node back into the cluster
mod_cluster looks to be a solution that fits these requirements. I think mod_proxy_ajp could also be used, but because it is not a jboss-specific apache module, some manual work would need to be done to have it read a healthcheck JSP page. I'm not sure if this is possible, but I think it might be.
Has anyone used mod_cluster or mod_proxy / mod_proxy_ajp with ATG? Any thoughts on this?
Right now I am leaning strongly towards mod_cluster. http://www.jboss.org/mod_cluster

Another important benefit of using mod_cluster is that it automatically registers new workers when they are added/removed from the cluster. Therefore its a better choice.
-Gaurav

Similar Messages

  • Solaris 10  x86 mod_jk for Apache to Tomcat compilation error

    Hi,
    I try to figure it out how to compile the sources of mod_jk under Solaris 10 x86 on v20z server. The configuration goes right. But when I try to use make. This error appears. The version of mod_jk is 1.1.14. Can anybody help with this probleme?
    Here is the result of the make:
    gcc: .libs/mod_jk.o: No such file or directory
    gcc: ../common/.libs/jk_ajp12_worker.o: No such file or directory
    gcc: ../common/.libs/jk_connect.o: No such file or directory
    gcc: ../common/.libs/jk_msg_buff.o: No such file or directory
    gcc: ../common/.libs/jk_util.o: No such file or directory
    gcc: ../common/.libs/jk_ajp13.o: No such file or directory
    gcc: ../common/.libs/jk_pool.o: No such file or directory
    gcc: ../common/.libs/jk_worker.o: No such file or directory
    gcc: ../common/.libs/jk_ajp13_worker.o: No such file or directory
    gcc: ../common/.libs/jk_lb_worker.o: No such file or directory
    gcc: ../common/.libs/jk_sockbuf.o: No such file or directory
    gcc: ../common/.libs/jk_map.o: No such file or directory
    gcc: ../common/.libs/jk_uri_worker_map.o: No such file or directory
    gcc: ../common/.libs/jk_ajp14.o: No such file or directory
    gcc: ../common/.libs/jk_ajp14_worker.o: No such file or directory
    gcc: ../common/.libs/jk_md5.o: No such file or directory
    gcc: ../common/.libs/jk_shm.o: No such file or directory
    gcc: ../common/.libs/jk_ajp_common.o: No such file or directory
    gcc: ../common/.libs/jk_context.o: No such file or directory
    gcc: ../common/.libs/jk_status.o: No such file or directory
    make[1]: *** [mod_jk.la] Error 1
    make[1]: Leaving directory `/install/jakarta-tomcat-connectors-1.2.14.1-src/jk/native/apache-1.3'
    make: *** [all-recursive] Error 1
    Anybody can help???

    You have to run "make clean" and then make.
    Probably the files could not be compiled because of errors in the first place.
    Try to download the source for apache and compile it for the current platform, otherwise you could get wrong settings.

  • CF10 64bit  Apache connector (mod_jk.so) does not work for Apache2.4.3 (windows)

    CF10 64bit  Apache connector (mod_jk.so) does not work for Apache2.4.3 (win64), where can I get a module that works?
    I get this error from Apache :
    C:\www\Apache2.4\bin>httpd -t
    httpd: Syntax error on line 741 of C:/www/Apache2.4/conf/httpd.conf: Syntax error on line 2 of C:/www/Apache2.4/conf/mod_jk.conf: Cannot load C:\\ColdFusion10\\config\\wsconfig\\1\\mod_jk.so into server: The specified procedure could not be found.
    I have already tried manually extracting the pre-built mod_jk22.so from the wsconfig.jar with same results.
    If I switch to Apache 2.2.22 64bit, it does work.  what I need is to be able to run on Apache 2.4.

    Please check out this link.
    http://rob.brooks-bilson.com/index.cfm/2012/2/21/Installing-ColdFusion-10-with-Apache-on-W indows
    In this link, they are configuring with Apache 2.2 only.
    When we were working colfusion 9 with Linux and apache, we had the same problem, it will work when it connect to Apache 2.0 but not with Apache 2.2 version.

  • Installing Tomcat connector for Apache

    I realize this is more of a Linux configuration issue but it does deal with Tomcat so I am hoping someone can help.
    I am having some problems installing the tomcat connector for Apache web server on Linux (Red Hat enterprise).
    I need to have both Apache (by which I mean Apache Web Server) and Tomcat running on this system and it is my understanding that one can use the tomcat connector as an Apache module to connect from Apache to Tomcat for jsp requests.
    Okay so here is what has been done.
    Tomcat is installed and running fine (on port 8080)
    Apache is running fine.
    I followed this guide http://tomcat.apache.org/connectors-doc/howto/quick.html
    And I created all the config files etc but when it comes to finding the mysterious mod_jk.so file I am stuck. I went to the downloads area and end up in the following directory/page http://apache.mirrors.northco.net/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.14/
    I don't see a mod_jk.so file in there. (?!?) So... I poked around some more but I feel I am looking at the right directory so I downloaded the worker.so file and put that in my apache modules directory. I renamed it as mod_sk.so (now please bear in mind that I am not too dumb and I realize that renaming a file isn''t doing anything magical but due to lack of any documentation describing why there are two different files I took a guess and thought that maybe the different files are different threading setups or something (considering the other one is named prefork to me this seemed to be a logical conclusion based on the information given))
    And of course it doesn't work. By which I mean the following happens if I run configtest for apache (if I try to start Apache same disaster)
    # /sbin/service httpd configtest
    Syntax error on line 3 of /etc/httpd/conf.d/tomcat_connector.conf:
    Cannot load /etc/httpd/modules/mod_jk.so into
    server: /etc/httpd/modules/mod_jk.so: cannot open
    shared object file: No such file or directoryOkay... Except a file with that name (see above) IS in that directory. And it has the same permissions as the other modules which are loading.
    (After moving to the modules directory)
    # dir
    libphp4.so mod_cache.so mod_imap.so mod_proxy_http.so
    mod_access.so mod_cern_meta.so mod_include.so mod_proxy.so
    mod_actions.so mod_cgi.so mod_info.so mod_python.so
    mod_alias.so mod_dav_fs.so mod_jk.so mod_rewrite.so
    [more stuff that loads here but edited for length]So I think something else has gone wrong here... namely that I have the wrong file or something.
    Anyway I am a bit stuck at this point. Could someone point me in the right direction please because I am just going in circles at this point with the documentation not matching up to what files are available or explaining what those files in fact actually are.

    I solved this issue by compiling the file from source. I got hold of another admin friend who told me that the version I had was for 64 bit. Now how I was supposed to discover this or where in fact a compiled version of this file is on the apache site I know not.
    But it's working now.

  • Newbie looking for maven-based web projects

    I'm looking looking for maven-based web projects so I could learn how to orginize and configure code and configuration files respectively. Thx in advance.

    Tones of good material exists at the Maven2 site:
    http://maven.apache.org/
    Another very good place where to find information:
    http://www.sonatype.com/book/
    To search for free jars (very useful)
    http://www.mvnrepository.com/search.html
    It is kind of difficult to start, but it worth the effort.
    I cannot imagine to start a project without Maven + Continuum

  • Has anyone used webgate for apache 2.0 with apache 2.2 on linux ?

    eom

    Hi,
    I am doing a evaluation and I have installed Apache 2.0.32 (latest beta) on Windows
    2000 and am using WebLogic Server 6.1SP1. However when I tested the configuration,
    I get this error saying:
    C:\Program Files\Apache Group\Apache2\bin>apache -t
    Syntax error on line 173 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
    Cannot load C:/Program Files/Apache Group/Apache2/modules/mod_wl_20.so into server:
    The specified procedure could not be found.
    This is how I configured the httpd.conf:
    LoadModule weblogic_module modules/mod_wl_20.so
    TIA for any pointers to get it to work.
    Cheers
    Arthur
    "Eric Mountain" <[email protected]> wrote:
    Apache 2.0 is not yet officially supported on Windows as Apache2 has
    not
    been production-released. So BEA cannot certify Apache2 with WLS of
    course.
    You need Apache 2.0.16 (alpha) to work with the modules delivered with
    WLS
    6.1 SP1 and SP2.
    I got it working more or less, but it seems to be a bit flakey... i.e.
    my
    1st request works OK, but none after that.
    I have been told that SP3 will support Apache2 on Windows "for real"
    - of
    course, this is assuming Apache release Apache2 on schedule I suppose.
    :E
    Robert Patrick wrote in message <[email protected]>...
    It looks like the "Platform Support" snippet has not been updated butif
    you
    look below, you will see that the plug-in for Apache 2.0 only is supportedon
    Windows...
    Michael Halmich wrote:
    It seems that the setup is supported based on this url:
    http://edocs.bea.com/wls/docs61/adminguide/apache.html
    ... no: "The Apache HTTP Server Plug-In is supported on Linux, Solaris
    and
    HPUX11 platforms."
    http://edocs.bea.com/wls/docs61/adminguide/apache.html#112697

  • Mod_orion for Apache?

    Does anyone know if a mod_orion (or similar) is in the works somewhere to hook up Orion (or OC4J) to Apache?
    John H.

    As Philip Ross already said, Orion announced AJP13 support with version 1.4.8. Upto 1.5.2 this is disabled due to 'pending issues', but when it will be available, you can use mod_jk from tomcat3.3 to connect Apache and OC4j/Orion. This would provide a more efficient connection and access to parts of the request like certificates.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by John Haasbeek ([email protected]):
    My interest stems from all of the other mod's I like to use in Apache (php, perl, etc) to supplement the Java stuff I build applications with. I must research this reference to AJPV13 protocol support, as that seems to imply that Orion could work with mod_jk, which would be rather nice. Thanks for the replies,
    John H.<HR></BLOCKQUOTE>
    null

  • Weblogic identity assertion provider for apache

    I am using apache reverse proxy to handle the user authentication. My work env. is
    a) apache reverse proxy
    b) mod_auth_tkt (single sign on module for apache)
    c) weblogic portal server
    once the user is authenticated against mod_auth_tkt/active directory, apache generates cookie/ticket based on MD5 checksum.
    I need to pass the credentials from apache to weblogic.
    My question is
    a) Can I use any weblogic identity assertion provider which comes weblogic server product or do i have to develop custom weblogic identity assertion provider. Please advise
    Thanks
    Prabu

    *1-Can you please double check that your latest version of your web application is deployed ?*
    I have checked the application and can confirm that the correct application is deployed. With the auth-method as just BASIC (no CLIENT-CERT) I see the following behaviour:
    - With a Negotiate Identity Asserter Provider I see both WWW-Authenticate: Negotiate and WWW-Authenticate: Basic
    - Without a Negotiate Identity Asserter Provider I see just WWW-Authenticate: Basic
    *2-I believe there is no intermediary web server (like IIS) between your client and WLS ? A third part may add additional authentication request in the http header. If there is an intermediary exist, can you please avoid it for your tests.*
    I can confirm that there is no intermediary server between me and Weblogic.
    *3-Can you please check "weblogic.security.enableNegotiate" system parameter value. If it is true can you please set it to false and test your app again ?*
    I have weblogic.security.enableNegotiate set to true. I tried setting it to false and it seems I still see the same behaviour I described above in my answer to question 1.
    *3-Although I'm quite sure that Negotiate Identity Assertion Provider would not work for your app, can you please remove it and repeat your tests again. If you detect that it's because of the Negotiate Identity Assertion Provider, that you can consider open a bug request in Oracle Support system.*
    When I remove the Negotiate Identity Assertion Provider, I no longer see a WWW-Authenticate: Negotiate challenge in the response.
    Edited by: user1992925 on 16/05/2010 17:06

  • Upgrade for apache ??

    Hi,
    I notice that the version of apache supplied on the mac is v1.3.3 (?) is this just a mac version number ?
    Will/does Apple update apache ? the latest release of apache I saw was v2.2.
    If Apple don't update apache, should I try to update it by installing the latest version myself. I hesitate to do it as for sure, there will be issues which I no nothing about. Perhaps someone can point out a few of the major ones.
    Thanks.
    K.

    "all plugin modules need to be rewritten to work with apache 2.x."
    Will Apple do this, do you think?
    I would expect so, I just have no idea when - at some point 1.3.x is going to fall off the edge of supported software from apache.org. They're not the only ones in this situation, though - a number of vendors ship apache 1.3-based solutions and will need to update their products for apache 2.x
    FWIW, Mac OS X Server ships with both 1.3 and 2.0 in the box - you can choose to enable 2.x, although the admin tools are still geared around 1.3.

  • Agent for Apache w/Virtual Hosts question

    I have an apache installation with two vritual hosts defined. The AMAgent for apache is installed and working fine. But ... I only want the agent to manage one of the virtual hosts. The virtual hosts are IP based because they both run over SSL. How do I tell the agent to not manage the second virtual?
    Mark

    I've tried that, and no luck. We actually set com.sun.am.policy.agents.config.notenforced_list.invert to 'true', inverting the meaning of the not enforced list, and there is just one specific sub-URL (https://site1.foo.com/suburl/*) in the list. So everything else should already be 'not enforced'. And testing against other url's under site.foo.com shows that to be true.
    The behaviour I am seeing is actually odd ... When I try to go to https://site2.foo.com/, I get redirected to https://site1.foo.com/. You would think that, if the Agent is the problem, then it would redirect me to the login url defined in AMAgent.properties. But it doesn't ... it just sends me to https://site1.foo.com/.
    But I know the plugin is the issue because, if I comment out the reference to dsame.conf in httpd.conf, everything works as expected.
    Mark

  • Virtual Logic - for multiprovider based on InfoObjects, not based on cubes

    Hi all,
    I am fully aware how to write virtual key fig/char code for multiproviders that are based on cubes, but not for multiproviders based on InfoObjects.  Oddly this has not been a necessity for a couple of years.
    I need to understand how to translate the C_S_DATA components.
    Normally, on a standard multprovider, I would assign a component thusly.
      ASSIGN COMPONENT G_POS_<i>multicubetechname_virtualchartechname</i>
        OF STRUCTURE C_S_DATA TO <l_var1>.
    This does not work.  I can see in C_S_DATA that the objects of interest appear with the format K__xxxx and I am able to decipher those needed. 
    The question:  How do I assign these?
    I have attempted the following with no luck.
      ASSIGN COMPONENT G_POS_<i>multicubetechname_K__xxxx.</i>
        OF STRUCTURE C_S_DATA TO <l_var1>.
    I have also tried this.
      ASSIGN COMPONENT G_POS_<i>masterInfoObjecttechname_K__xxxx.</i>
        OF STRUCTURE C_S_DATA TO <l_var1>.
    And just for kicks I have tried this.
      ASSIGN COMPONENT G_POS_<i>masterInfoObjecttechname__Kxxxx.</i>
        OF STRUCTURE C_S_DATA TO <l_var1>.
    Could someone shed some light on this?
    Many many thanks,
    Larry

    Below is the 'c_s_data' components.  The K entries are the appropriate items, which I can tell by the character type and length.
    S____028
    S____1078
    S____1100
    S____1101
    K____1101
    K____028
    K____1100
    K____1078
    Oddly, if I proceed as normal, using G_POS_<i>multicubetechname_attributetechname</i>, remember that the data in the cube is attribute data of the master InfoObject, the assignment returns the record number from c_s_data.  For example:
    G_POS_<i>ZM_EMPL_0COMP_CODE</i> is passing the value of 7 which is the appropriate row number for K____1100 in c_s_data referenced above.
    Thanks for trying.
    Larry

  • Unlimited MIRO invoice allowed for GR based IV item

    Hi,
    I have a problem where the user keeps posting invoices against incorrect Service ENtry Sheets(SES). The user wants to know if there is a message which can be given at this point.
    PO item is a service
    The flag for GR based IV is set.
    The following processing has been done.
    PO qty: 45600
    1) SES1 - Amount 11400
    2) GR1 against SES1
    Dr      expense            11,400
    Cr      GR/IR Clearing     -11,400
    3) IR1 - Amount 4,998.15 against SES1
    Cr      Vendor          -4,998.15
    Dr     GR/IR Clearing     11,400
    Cr     Expense          -6,401.85
    At this point, the GR/IR clearing account has been cleared and the expense account entries have also been nullified.
    So the effective posting in FI will be as follows:
    Cr      Vendor          -4,998.15
    Dr      expense            (11,400-6401.85) = 4998.15
    At this point, if I try to create an invoice using MIRO wrt the same PO item, it still allows me to post an invoice of 6401.85 as the difference between the GR amount and the IR amount still exists.
    The invoice is not even set for blocking.
    However, FI wise, there is no pending invoice for this item.
    The users do not want this scenario to be allowed. Can anyone suggest how this can be prevented.
    If I do post this invoice at this stage, it creates the following FI entries.
    Cr     Vendor          - 6401.85
    Dr     Expense            6401.85
    After this, any further invoices on this PO item are blocked for payment.
    Please help as this scenario keeps on occuring for service items and becomes a mess for items having multiple SES.
    Let me know if further inputs are required.
    Thanks!
    PM

    Hello Sudhir,
    Thanks for your response. However, in this case, the quantity has not been exceeded.
    If you notice, the IRd amount(4998.15) is still less than the GRd amount(11400) in the PO history.
    However, the postings have been cleraed at the FI document level.
    The checks that you have mentioned get hit only after the IR amount crosses the GR amount of 11400 and then th einvoice goes into payment block. Which is correct.
    Please let me know if you have further suggestions or if I have understood your response incorrectly.
    Thanks!
    PM

  • Subsequent debit - different behaviour for PO based IR and GR based IR

    Hy Guys,
    i am facing currently a problem with my understanding of system behaviour for GR Based Invoice Verification in combination with Subsequent Debit Postings...
    Example 1 - System Behaviour in case of PO based Invoice Verification:
    PO with 3000 PC Material XYZ / Price 10 EUR
    Goods Receipt for all 3000 Pieces
    Goods Issue for 2000 Pieces
    Situation is now:
    Valuated Material XYZ with Stock Quantity 1000 PC / MAP 10 / Stock Value  = 10.000 EUR
    Subsequent Debit Posting for 300 EUR / 3000 PC
    Result is that Stock Account is debited with 100 EUR / Price Difference with 200 EUR
    New Situation is:
    Valuated Material XYZ with Stock Quantity 1000 PC / MAP 10,1 / Stock Value  = 10.100 EUR
    This makes sense to me!!!
    Example 2 - System Behaviour in case of GR based Invoice Verification:
    PO with 3000 PC Material XYZ / Price 10 EUR
    Seperate Goods Receipt for 1000 PC - three times
    Goods Issue for 2000 Pieces
    Situation is now:
    Valuated Material XYZ with Stock Quantity 1000 PC / MAP 10 / Stock Value  = 10.000 EUR
    Subsequent Debit Posting for 300 EUR / 3000 PC
    Result is that Stock Account is debited with 300 EUR  (But there are only 1000 PC currently on stock!!!!! -  System thinks there are 3000 on stock....)
    New Situation is:
    Valuated Material XYZ with Stock Quantity 1000 PC / MAP 10,3 / Stock Value  = 10.300 EUR
    In that case i think system behaviour is wrong, because MAP increased to much.
    Any comments? Is this customizable?
    Thanks!
    BR;
    Gregor

    Hi Gregor,
    Wellcome to SCN. Please, see SAP Note 308008 - FAQ: Posting logic: GR/IR clearing account, and related notes.
    Regards
    Eduardo

  • Excise Invoice for Order Based Billing Scenerion

    Dear Friends,
    We have a scenarion, wherein we are working with Sales Order Based Billing.
    We are in the process of Implementing CIN with TAXINN.
    Is it possible to create excise invoice for the scenarion of Sales Order based billing, instead of delivery based billing.
    If yes, what are the steps we need to follow to configure the same.
    Regards,
    Harsh

    hi
    If u want the create  Excise Invoice for Order Based Billing Scenerion, u must be set in billing document in General control in fields is.
    <b> SD document categ.   M      Invoice                                            
    Transaction group    7      Billing documents                                  
    Billing category                                                               
    Document type                                                                  
    Negative posting            No negative posting                                
    Branch/Head office          Customer=Payer/Branch=sold-to party                
                                 No                                                 
    Invoice list type    LR     Invoice List                                                                               
    Rebate settlement                                                              
    Standard text     </b>     
    Best copy of F2 Invice. and this billing type in outgoing invoices in Tax on goods movement in Logistics general.
    Rewards point it helps

  • How to configure proxy services in OSB for Rest based services?

    how to configure proxy services in OSB for Rest based services implemented using Jersey (Rest).
    The Client need to contact OSB proxy servies by posting application/xml using jersey client and OSB proxy service will call the OSB business service.
    i would like to know how to get this request in OSB proxy service and send it to the business service and get the response back.

    I would suggest you refer to the below links:
    https://blogs.oracle.com/jeffdavies/entry/restful_services_with_oracle_s_1
    https://blogs.oracle.com/jamesbayer/entry/using_rest_with_oracle_service
    Hope this helps.
    Thanks,
    Patrick

Maybe you are looking for