Ô½À´Ô½¶àµÄÆóÒµ¹Ø¼üÓ¦Óö¼±ØÐë²ÉÓü¯Èº¼¼Êõ£¬ÊµÏÖ¸ºÔؾùºâ£¨Load Balancing£©¡¢ÈÝ´í£¨Fault Tolerance£©ºÍÔÖÄѻָ´£¨Failover£©¡£ÒԴﵽϵͳ¿ÉÓÃÐÔ£¨High Availability£©ºÍ¿ÉÉìËõÐÔ£¨Scalability£©µÄÒªÇó¡£
¹ØÓÚJ2EE¼¯Èº¼¼ÊõµÄ»ù±¾ÔÀíºÍ³£ÓÃʵÏÖ·½Ê½£¬TheServerSide.comÓÐһƪ¾µäµÄÎÄÕ£º
http://www.theserverside.com/tt/articles/article.tss?l=J2EEClustering
CSDNÉÏ£¬ÌÕ½¨·çÏÈÉúÔÚËûµÄ²©¿ÍÖÐÒ²×÷ÁË·Ò룺
http://blog.csdn.net/ESoftWind/archive/2006/10/19/1341089.aspx
ÕâÆªÎÄÕÂËäÈ»·¢±íÓÚ2005Ä꣬µ«Ëü¶Ô¼¯Èº¼¼ÊõµÄ¸ÅÄî¡¢ÔÀíºÍʵÏֵĻù±¾ÃèÊöÖÁ½ñÒÀÈ»ÊÊÓ᣸ոսӴ¥¼¯Èº¼¼ÊõµÄÅóÓѲ»·ÁÔĶÁÒ»ÏÂÕâÆªÎÄÕ£¬ÒÔ±ãÕÆÎÕ¼¯Èº¼¼ÊõµÄ»ù±¾ÖªÊ¶¡£
ÎÒдÕâÆªÎÄÕÂÊÇÏë½éÉÜÒ»¸öеÄJava¼¯Èº¼¼Êõ£¬Terracotta¡£Ëü²ÉÓÃÁËÓëÖÚ²»Í¬µÄÊֶΣ¬½â¾öÁË´«Í³¼¯Èº¼¼ÊõÃæÁÙµÄһЩ¹Ø¼üÎÊÌâ¡£¿ÉÒÔ˵ΪJava¼¯Èº¼¼ÊõµÄʵÏÖ´µÀ´ÁËÒ»¹ÉÐÂÏÊµÄ¿ÕÆø¡£
Terracotta£¨http://terracotta.org/£©ÊÇÒ»¸ö¿ªÔ´µÄ¿ò¼Ü¡£ËûµÄ´´Ê¼ÈËAri
ZilkaÔ±¾ÊÇWalmat.comµÄÊ×ϯ¼Ü¹¹Ê¦¡£ËûÓÚ2003Äê³ÉÁ¢Terracotta¹«Ë¾£¬²¢ÇÒ½«²úÆ·¿ªÔ´¡£¸Ã²úÆ·ÔÚ2006Äê×óÓÒÇ÷ÓÚ³ÉÊ죬ÔÚ
ºÜ¶à²Æ¸»500Ç¿ÆóÒµ»ñµÃ³É¹¦Ó¦Óá£2009ÄêTerracot ......
Òý:¹¤³§·½·¨Ä£Ê½µÄÒâÒåÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê´´½¨¹¤×÷ÍÆ³Ùµ½×ÓÀ൱ÖС£ºËÐŤ³§À಻ÔÙ¸ºÔð²úÆ·µÄ´´½¨£¬ÕâÑùºËÐÄÀà³ÉΪһ¸ö³éÏ󹤳§½ÇÉ«£¬½ö¸ºÔð¾ßÌ幤³§×ÓÀà±ØÐëʵÏֵĽӿÚ
¡¡¡¡Ò» ¡¢¹¤³§·½·¨£¨Factory Method£©Ä£Ê½
¡¡
¡¡¹¤³§·½·¨Ä£Ê½µÄÒâÒåÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê´´½¨¹¤×÷ÍÆ³Ùµ½×ÓÀ൱ÖС£ºËÐŤ³§À಻ÔÙ¸ºÔð²úÆ·µÄ´´½¨£¬ÕâÑùºËÐÄÀà³ÉΪһ¸ö³éÏ󹤳§½Ç
É«£¬½ö¸ºÔð¾ßÌ幤³§×ÓÀà±ØÐëʵÏֵĽӿڣ¬ÕâÑù½øÒ»²½³éÏ󻯵ĺô¦ÊÇʹµÃ¹¤³§·½·¨Ä£Ê½¿ÉÒÔʹϵͳÔÚ²»Ð޸ľßÌ幤³§½ÇÉ«µÄÇé¿öÏÂÒý½øÐµIJúÆ·¡£
¡¡¡¡¶þ¡¢ ¹¤³§·½·¨Ä£Ê½½ÇÉ«Óë½á¹¹
¡¡¡¡³éÏ󹤳§£¨Creator£©½ÇÉ«£ºÊǹ¤³§·½·¨Ä£Ê½µÄºËÐÄ£¬ÓëÓ¦ÓóÌÐòÎ޹ء£ÈκÎÔÚģʽÖд´½¨µÄ¶ÔÏóµÄ¹¤³§Àà±ØÐëʵÏÖÕâ¸ö½Ó¿Ú¡£
¡¡¡¡¾ßÌ幤³§£¨Concrete Creator£©½ÇÉ«£ºÕâÊÇʵÏÖ³éÏ󹤳§½Ó¿ÚµÄ¾ßÌ幤³§À࣬°üº¬ÓëÓ¦ÓóÌÐòÃÜÇÐÏà¹ØµÄÂß¼£¬²¢ÇÒÊܵ½Ó¦ÓóÌÐòµ÷ÓÃÒÔ´´½¨²úÆ·¶ÔÏó¡£ÔÚÉÏͼÖÐÓÐÁ½¸öÕâÑùµÄ½ÇÉ«£ºBulbCreatorÓëTubeCreator¡£
¡¡¡¡³éÏó²úÆ·£¨Product£©½ÇÉ«£º¹¤³§·½·¨Ä£Ê½Ëù´´½¨µÄ¶ÔÏóµÄ³¬ÀàÐÍ£¬Ò²¾ÍÊDzúÆ·¶ÔÏóµÄ¹²Í¬¸¸Àà»ò¹²Í¬ÓµÓеĽӿڡ£ÔÚÉÏͼÖУ¬Õâ¸ö½ÇÉ«ÊÇLight¡£
¡¡¡¡¾ßÌå²úÆ·£¨Concr ......
Ò»¡¢Windows»·¾³ÏµÄJava»·¾³ÅäÖÃ
1¡¢°²×°JDK
2¡¢ÅäÖû·¾³±äÁ¿
Win2000ÒÔ¼°WinXPÖпÉÒÔÔÚ“ÎҵĵçÄÔ”ÊôÐԵē¸ß¼¶”Ñ¡ÏîÖÐÕÒµ½“»·¾³±äÁ¿”£¬È»ºó¿ÉÒÔ¸ù¾ÝÈçÏÂÌáʾ½øÐÐн¨»òÕßÐ޸ė—
<1>JAVA_HOME
ÉèÖÃΪ JDKµÄ°²×°Ä¿Â¼
<2>PATH
ÉèÖÃΪ %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
<3>CLASSPATH
ÉèÖÃΪ .;%JAVA_HOME%\lib;%JAVA_HOME%/lib/tools.jar
¶þ¡¢Linux»·¾³ÏµÄJava»·¾³ÅäÖÃ
ÕâÀïÖ÷Òª½éÉÜÈýÖÖ·½·¨£¬ÈýÖÖ·½·¨¸÷ÓÐÓÅȱµã£¬¸ù¾Ý²»Í¬Çé¿ö²»Í¬Ñ¡Ôñ¡£
·½·¨1£ºÐÞ¸Ä/etc/profile Îļþ
ËùÓÐÓû§µÄ shell¶¼ÓÐȨʹÓÃÕâЩ»·¾³±äÁ¿
<1>ÔÚ shellÖÕ¶ËÖ´ÐÐÃüÁvi /etc/profile
<2>ÔÚ profileÎļþĩβ¼ÓÈ룺
JAVA_HOME=/usr/local/jdk1.6.0_4
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
export JAVA_HOME,PATH,CLASSPATH
<3>ÖØÆôϵͳ
·½·¨2£ºÐÞ¸Ä.bashrcÎļþ
Èç¹ûÄãÐèÒª¸øÄ³¸öÓû§È¨ÏÞʹÓÃÕâЩ»·¾³±äÁ¿£¬ÄãÖ»ÐèÒªÐÞ¸ÄÆä¸öÈËÓ ......
Ò»¡¢Windows»·¾³ÏµÄJava»·¾³ÅäÖÃ
1¡¢°²×°JDK
2¡¢ÅäÖû·¾³±äÁ¿
Win2000ÒÔ¼°WinXPÖпÉÒÔÔÚ“ÎҵĵçÄÔ”ÊôÐԵē¸ß¼¶”Ñ¡ÏîÖÐÕÒµ½“»·¾³±äÁ¿”£¬È»ºó¿ÉÒÔ¸ù¾ÝÈçÏÂÌáʾ½øÐÐн¨»òÕßÐ޸ė—
<1>JAVA_HOME
ÉèÖÃΪ JDKµÄ°²×°Ä¿Â¼
<2>PATH
ÉèÖÃΪ %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
<3>CLASSPATH
ÉèÖÃΪ .;%JAVA_HOME%\lib;%JAVA_HOME%/lib/tools.jar
¶þ¡¢Linux»·¾³ÏµÄJava»·¾³ÅäÖÃ
ÕâÀïÖ÷Òª½éÉÜÈýÖÖ·½·¨£¬ÈýÖÖ·½·¨¸÷ÓÐÓÅȱµã£¬¸ù¾Ý²»Í¬Çé¿ö²»Í¬Ñ¡Ôñ¡£
·½·¨1£ºÐÞ¸Ä/etc/profile Îļþ
ËùÓÐÓû§µÄ shell¶¼ÓÐȨʹÓÃÕâЩ»·¾³±äÁ¿
<1>ÔÚ shellÖÕ¶ËÖ´ÐÐÃüÁvi /etc/profile
<2>ÔÚ profileÎļþĩβ¼ÓÈ룺
JAVA_HOME=/usr/local/jdk1.6.0_4
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
export JAVA_HOME,PATH,CLASSPATH
<3>ÖØÆôϵͳ
·½·¨2£ºÐÞ¸Ä.bashrcÎļþ
Èç¹ûÄãÐèÒª¸øÄ³¸öÓû§È¨ÏÞʹÓÃÕâЩ»·¾³±äÁ¿£¬ÄãÖ»ÐèÒªÐÞ¸ÄÆä¸öÈËÓ ......
package com;
import java.util.*;
public class WhatDay {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(System.currentTimeMillis()));
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
switch (dayOfWeek) {
case 1:
System.out.println("ÐÇÆÚÈÕ");
break;
case 2:
System.out.println("ÐÇÆÚÒ»");
break;
case 3:
System.out.println("ÐÇÆÚ¶þ");
break;
case 4:
System.out.println("ÐÇÆÚÈý");
break;
case 5:
System.out.println("ÐÇÆÚËÄ");
break;
case 6:
System.out.println("ÐÇÆÚÎå");
break;
case 7:
System.out.println("ÐÇÆÚÁù");
break;
}
&n ......
1¡¢FACTORY—×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ùµÄ¼¦³á¶¼ÊÇMM°®³ÔµÄ¶«Î÷£¬ËäÈ»¿ÚζÓÐËù²»Í¬£¬µ«²»¹ÜÄã´øMMÈ¥Âóµ±ÀÍ»ò¿ÏµÂ»ù£¬Ö»¹ÜÏò·þÎñԱ˵“À´Ëĸö¼¦³á”¾ÍÐÐÁË¡£Âóµ±ÀͺͿϵ»ù¾ÍÊÇÉú²ú¼¦³áµÄFactory
¡¡¡¡¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹¤³§ÇëÇó¼´¿É¡£Ïû·ÑÕßÎÞÐëÐ޸ľͿÉÒÔ½ÓÄÉвúÆ·¡£È±µãÊǵ±²úÆ·ÐÞ¸Äʱ£¬¹¤³§ÀàÒ²Òª×öÏàÓ¦µÄÐ޸ġ£È磺ÈçºÎ´´½¨¼°ÈçºÎÏò¿Í»§¶ËÌṩ¡£
¡¡¡¡2¡¢BUILDER—MM×î°®ÌýµÄ¾ÍÊÇ“ÎÒ°®Äã”Õâ¾ä»°ÁË£¬¼ûµ½²»Í¬µØ·½µÄMM,ÒªÄܹ»ÓÃËýÃǵķ½ÑÔ¸úËý˵Õâ¾ä»°Å¶£¬ÎÒÓÐÒ»¸ö¶àÖÖÓïÑÔ·Òë»ú£¬ÉÏÃæÃ¿ÖÖÓïÑÔ¶¼ÓÐÒ»¸ö°´¼ü£¬¼ûµ½MMÎÒÖ»Òª°´¶ÔÓ¦µÄ¼ü£¬Ëü¾ÍÄܹ»ÓÃÏàÓ¦µÄÓïÑÔ˵³ö“ÎÒ°®Äã”Õâ¾ä»°ÁË£¬¹úÍâµÄMMÒ²¿ÉÒÔÇáËɸãµà£¬Õâ¾ÍÊÇÎҵēÎÒ°®Äã” builder¡££¨ÕâÒ»¶¨±ÈÃÀ¾üÔÚÒÁÀ¿ËÓõķÒë»úºÃÂô£©
¡¡¡¡½¨Ôìģʽ£º½«²úÆ·µÄÄÚ²¿±íÏóºÍ²úÆ·µÄÉú³É¹ý³Ì·Ö¸î¿ªÀ´£¬´Ó¶øÊ¹Ò»¸ö½¨Ôì¹ý³ÌÉú³É¾ßÓв»Í¬µÄÄÚ²¿±íÏóµÄ²úÆ·¶ÔÏó¡£½¨ÔìģʽʹµÃ²úÆ·ÄÚ²¿±íÏó¿ÉÒÔ¶ÀÁ¢µÄ±ä»¯£¬¿Í»§²»±ØÖªµÀ²úÆ·ÄÚ²¿×é³ÉµÄϸ½Ú¡£½¨Ôìģʽ¿ÉÒÔÇ¿ÖÆÊµÐÐÒ»ÖÖ·Ö²½Öè½øÐеĽ¨Ôì¹ý³Ì¡£
¡¡¡¡3¡¢FACTORY M ......
OSS/BSSÊǵçÐÅÔËÓªÉ̵ÄÒ»Ì廯¡¢ÐÅÏ¢×ÊÔ´¹²ÏíµÄÖ§³Öϵͳ£¬ËüÖ÷ÒªÓÉÍøÂç¹ÜÀí¡¢ÏµÍ³¹ÜÀí¡¢¼Æ·Ñ¡¢ÓªÒµ¡¢ÕËÎñºÍ¿Í»§·þÎñµÈ²¿·Ö×é³É£¬ÏµÍ³¼äͨ¹ýͳһµÄÐÅÏ¢×ÜÏßÓлúÕûºÏÔÚÒ»Æð¡£Ëü²»½öÄÜÔÚ°ïÖúÔËÓªÉÌÖÆ¶©·ûºÏ×ÔÉíÌØµãµÄÔËÓªÖ§³ÅϵͳµÄͬʱ°ïÖúÈ·¶¨ÏµÍ³µÄ·¢Õ¹·½Ïò£¬»¹ÄܰïÖúÓû§Öƶ©ÏµÍ³µÄÕûºÏ±ê×¼£¬¸ÄÉÆºÍÌá¸ßÓû§µÄ·þÎñˮƽ¡£
×÷ΪһÖÖ¸ßЧµÄÐÅÏ¢¹ÜÀíϵͳ£¬OSS/BSSÒÑÔÚ¹úÍâµçÐÅÔËÓªÉÌÖеõ½¹ã·ºµÄÔËÓ㬲¢ÔÚʵ¼ùÖлýÀÛÁË´óÁ¿µÄ³É¹¦°¸Àý¡£OSS/BSS½â¾ö·½°¸Ò²ÔÚÕâÒ»¹ý³ÌÖÐÇ÷ÓÚÍêÉÆ¡£µ«¹úÄÚĿǰ»¹Ã»ÓгÉÊìµÄOSS/BSSϵͳ£¬µçÐÅÔËÓªÉ̵ÄÍø¹Üϵͳ¡¢¼Æ·Ñϵͳ¡¢ÓªÕËϵͳ¡¢¿Í·þϵͳµÈ¶¼ÊǸ÷³ÉÌåϵ£¬Ã»Óо¹ýÓлúÕû
1)OSS/BSSµÄÈí¼þϵͳÏà¶Ô¸´ÔÓ£¬´Ó¶øÊ¹µÃÍø¹Üϵͳ¡¢¼Æ·Ñϵͳ¡¢ÓªÕËϵͳ¡¢¿Í·þϵͳµÈ¶¼ÊǸ÷³ÉÌåϵ£¬ÒªÏë°ÑËüÃÇÓлúµØÕûºÏÔÚÒ»Æð£¬¼¸ºõÊDz»¿ÉÄܵ쬶ÔÓÚÕâÖÖ“ÔÓÂÒÎÞÕ”µÄϵͳ½á¹¹,¼òÖ±¿ÉÒÔ³ÉΪϵͳ¼¯³ÉµÄجÃΣ¨Integration Nightmare£©¡£
2)ºÜ¶àOSS/BSS¿ª·¢É̶¼ÓÐͬ¸Ð——ȱÉÙѵÁ·ÓÐËØµÄ¹¤³Ìʦ£¬ÕâÒ²ÊÇÓÉ ......