1.JBoss WebåTomcatçåºå«
2.webshpereåJBOSSåtomcatåèªåªäºç¹ç¹åä¼å¿
3.JBoss Webå Tomcatçåºå«
4.MQTT Broker 选型
JBoss WebåTomcatçåºå«
ããå¨Web çæµªæ½®ä¸ åç§é¡µé¢ææ¯åæ¡æ¶ä¸ææ¶ç° 为æå¡å¨ç«¯çåºç¡æ¶ææåºäºæ´é«ç稳å®æ§åå¯æ©å±æ§çè¦æ± è¿å¹´æ¥ ä½ä¸ºå¼æºä¸é´ä»¶çå ¨çé¢å¯¼è JBosså¨J EEåºç¨æå¡å¨é¢åå·²æ为åå±æä¸ºè¿ éçåºç¨æå¡å¨ å¨å¸åºå æçåæå¡æ»¡æ度ä¸åå¾äºå·¨å¤§çæå ä¸æ¯«ä¸éè²äºå ¶å®çéå¼æºç«äºå¯¹æ å¦WebSphere WebLogic Application Server JBoss Webç诸å¤ä¼è¶æ§è½ æ£æ¯å ¶å¹¿ä¸ºæµè¡çååããåºäºTomcatå æ ¸ éèäºè
ããTomcat æå¡å¨æ¯ä¸ä¸ªå è´¹çå¼æ¾æºä»£ç çWeb åºç¨æå¡å¨ ææ¯å è¿ æ§è½ç¨³å® èä¸å è´¹ å èæ·±åJava ç±å¥½è çåç±å¹¶å¾å°äºé¨å软件å¼ååçè®¤å¯ å ¶è¿è¡æ¶å ç¨çç³»ç»èµæºå° æ©å±æ§å¥½ ä¸æ¯æè´è½½å¹³è¡¡ä¸é®ä»¶æå¡çå¼ååºç¨ç³»ç»å¸¸ç¨çåè½ ä½ä¸ºä¸ä¸ªå°åçè½»é级åºç¨æå¡å¨ Tomcatå¨ä¸å°åç³»ç»å并å访é®ç¨æ·ä¸æ¯å¾å¤çåºåä¸è¢«æ®éä½¿ç¨ æ为ç®åæ¯è¾æµè¡çWeb åºç¨æå¡å¨
ããèJBoss Webéç¨ä¸çæä¼çå¼æºJava Webå¼æ å°Java社åºä¸ä¸è½½éæ大 ç¨æ·æ°æå¤ æ åæ¯ææå®å¤çTomcatå æ ¸ä½ä¸ºå ¶Servlet容å¨å¼æ 并å ä»¥å®¡æ ¸åè°ä¼ å纯çTomcatæ§è½æé å¨å¾å¤å°æ¹è¡¨ç°ææ¬ ç¼º å¦æ´»å¨è¿æ¥æ¯æ éæå 容 大æ件åHTTPSç é¤äºæ§è½é®é¢ Tomcatçå¦ä¸å¤§ç¼ºç¹æ¯å®æ¯ä¸ä¸ªåéçéæå¹³å° ä» è½è¿è¡Javaåºç¨ç¨åº ä¼ä¸å¨ä½¿ç¨æ¶Tomcat å¾å¾è¿éåæ¶é¨ç½²Apache Web Server以ä¸ä¹æ´å æ¤é ç½®è¾ä¸ºç¹ç ä¸ä¸è½ä¿è¯æ§è½çä¼è¶æ§
ããJBosså¨Tomcatçåºç¡ä¸ å¯¹å ¶è¿è¡æ¬å°å å°Tomcat 以å åµçæ¹å¼éæå° JBoss ä¸ JBoss Webéè¿ä½¿ç¨APRåTomcatæ¬å°ææ¯çæ··å模åæ¥è§£å³Tomcatç诸å¤ä¸è¶³ æ··åææ¯æ¨¡åä»ææ°çæä½ç³»ç»ææ¯éæä¾äºæ好ç线ç¨åäºä»¶å¤ç ç»æ JBoss Webè¾¾å°äºå¯æ©å±æ§ æ§è½åæ°å¹é çè³è¶ è¶äºæ¬å°Apache HTTPæå¡å¨æè IIS è¬å¦JBoss Webè½å¤æä¾æ°æ®åºè¿æ¥æ± æå¡ ä¸ä» æ¯æ JSP ç Java ææ¯ åæ¶è¿æ¯æå ¶ä» Web ææ¯çéæ è¬å¦ PHP NET 两大éµè¥
ããæ ååæ¯åå°ææ¯ä¾èµé£é© ä¿æ¤æèµæ好çæ¹å¼ JBoss Webçå æ¯æå ¨ç³»åJEE Webæ å ä»æ ¹æ¬ä¸ä¿è¯äºåºç¨ ä¸æ¬¡å¼å å°å¤è¿è¡ çç¹ç¹ 使åºç¨æåè½æ¹ä¾¿å°å¨JBoss Webåå ¶ä»Java Webæå¡å¨ä¹é´è½»æè¿ç§»
ããéå¤åè½äºä¸èº« æ§è½åè¶
ããä½ä¸ºWeb åºç¨æå¡å¨ä¸çææ产å JBoss Webæå¡å¨éå¤ç§åè½äºä¸èº« å ¶å ³é®åè½å æ¬ å®å ¨æ¯æJava EE é«åº¦çæ©å±æ§ å¿«éçéæå 容å¤ç 群é OpenSSL URLéåå综åæ§
ããJBoss Webæå¡å¨å ·æåçç¹æ§å强大çå¯æ©å±æ§ å¯æ¯æå¤ç§å¹¶éåºäºJavaçæå¡å¨å 容å¤çææ¯ å¯åæ¶è¿è¡JSP Servlet Microsoft NET PHP å CGI ä¸ºå ¶æä¾ä¸ä¸ªåä¸ç é«æ§è½çä¼ä¸çº§é¨ç½²å¹³å°
ããä¸Tomcat ç¸æ¯ JBoss Webå¨éæèµæºè®¿é®æ¹é¢æ§è½ä¼è¶ JBoss Webæ¯æ两ç§ç»ä»¶æ¨¡å¼ââ纯JavaåNative I/O å¨Nativeç»ä»¶çæ¯æä¸ å¨æè¿è¡ä¸ä¼åå°ä»»ä½å½±å èéæèµæºç访é®å©ç¨äºæä½ç³»ç»æ¬èº«æä¾ç æ·è´ä¼ é CPUæ¶èéä½ ååºæ¶é´ç¼©ç ååç大大æé« æ··åçè¿æ¥æ¨¡å¼æ¯ææå¤§è¾¾å° ä¸ªå¹¶å客æ·ç«¯çåæ¶è®¿é® ä¸Apache Webæå¡å¨ç¸å½ é¨ç½²äºé«æ§è½çæä½ç³»ç» å¯å©ç¨JBoss Web对纯JavaåNative I/O两ç§æ¨¡å¼çæ¯æ 使å¾åºç¨å¨å¼åæ¶å¯éæ¶è·¨å¹³å°ææ·è¿ç§» èé¨ç½²äºé«æ§è½çæä½ç³»ç»ç¸å ³çNativeç¯å¢ ç±äºJBoss Webè¾å¥½å°è§£å³äºéæèµæºç访é®æ§è½é®é¢ å¯å¨è§£å³æ¹æ¡ä¸æå®ç´æ¥ä½ä¸ºå¼ºå¤§çLVSçåå对象 åRHELè´è½½åè¡¡ç³»ç»ç»å å½¢æç论ä¸æ é线æ§æ©å±çè´è½½åè¡¡åºæ¯
ããOpenSSLæ¯ä¸çæ为快éåå®å ¨çå¼æºä¼ è¾ç»ä»¶ å¯åå©æä½ç³»ç»å硬件çç¹æ§å®ç°é«æçå®å ¨æ¿è½½ JBoss WebéæäºOpenSSL å¯æä¾é«æçå®å ¨ä¼ è¾æå¡ ä½¿å¾å®å ¨æºå¶æ´ä¸å°é¶ ç 究表æ JBoss Webä¸çSSLæ§è½æ¯å纯çTomcatå¿«åå
ããURLéååè½å¯ç¼©çURL éèå®é è·¯å¾æé«å®å ¨æ§ æäºç¨æ·è®°å¿åé®å ¥ å被æç´¢å¼ææ¶å½ Tomcat ä¸å ·å¤URLéååè½ JBoss Webåå¯æä¾ä¸ä¸ªçµæ´»çURL rewritingæä½å¼æ æ¯ææ é个è§åæ°åè§åæ¡ä»¶ URLå¯è¢«éå以æ¯æéççURLé误å¤ç æåºå¯¹æå¡å¨ä¸æ¶äº§ççå ¶ä»é®é¢
ããJBoss Webæ¢å¯åç¬è¿è¡ ä¹å¯æ ç¼åµå ¥JBossåºç¨æå¡å¨ æ为JBossä¸é´ä»¶å¹³å°çä¸é¨å ä¸ä» åå°æå¡è°ç¨çæ§è½å°å¾ä»¥æå ä¹å¯å©ç¨ä»¥ä¸JBosså¹³å°çç¹æ§æåWebåºç¨åè½
ããåºäºJGroupsçå¤ç§é群æ¹æ¡çæ¯æ
ããåºäºArjunaææ¯çJTAåJTSçäºå¡å¤çæ¯æ
ããä¼åç线ç¨æ± åè¿æ¥æ± çæ¯æ
ããåºäºJMX æ§å¶å°çåºæ¬ç®¡çæ¯æåJBoss Onçé«çº§ç®¡çç»´æ¤æ¯æ
ããåºäºJBoss AOPææ¯çé¢åæ¹é¢æ¶æçæ¯æ
ããHibernateæå¡ç»ä»¶çæ¯æ
ããä¸ä¸å¢éæ¯æ
ããä¸ç大å¤æ°å¼æºäº§åå¨ææ¯æ¹é¢å¯äºåæ°æ§ ä½å¨å¯æç»æ§ 产åçå½å¨æè§å 以åè´¨éä¿è¯æ¹é¢ç¼ºä¹ææä¿é 为软件éæååæç»ç¨æ·æè¯ç 红帽æåè¡ç ä¸ä¸åå¼æºææ¯ åå®ç¾è§£å³äºè¿ä¸é®é¢
ããæ¥èªå¼æºç¤¾åºçJBoss Web å¨çº¢å¸½ä¸ä¸åå¼æºçé¤ç¼ä¸ å¨æ§è½ æ©å±æ§ 稳å®æ§ å®å ¨æ§çæ¹é¢ å·²æ为ä¸ä¸ªè¾¾å°ä¼ä¸çº§ çè³çµä¿¡çº§æ åçä¼ç§äº§å 红帽ä¸ä» æä¸èçææ¯å¢éæå ¥JBoss Webçå¼å èä¸å ·å¤ä¸é¨çQAå¢é为产åä½è´¨éä¿è¯ å®åçéææµè¯åå ¼å®¹æ§æµè¯ä¿è¯äºJBoss Webèªèº«ç稳å®æ§ 并ä¿è¯äºå®çååå ¼å®¹åå ¶ä»JBoss产ååä½è¯å¥½çäºæä½æ§
lishixinzhi/Article/program/Java/ky//webshpereåJBOSSåtomcatåèªåªäºç¹ç¹åä¼å¿
Tomcat æå¡å¨æ¯ä¸ä¸ªå è´¹çå¼æ¾æºä»£ç çWeb åºç¨æå¡å¨ï¼ææ¯å è¿ãæ§è½ç¨³å®ï¼èä¸å è´¹ï¼å èæ·±åJava ç±å¥½è çåç±å¹¶å¾å°äºé¨å软件å¼ååç认å¯ãå ¶è¿è¡æ¶å ç¨çç³»ç»èµæºå°ï¼æ©å±æ§å¥½ï¼ä¸æ¯æè´è½½å¹³è¡¡ä¸é®ä»¶æå¡çå¼ååºç¨ç³»ç»å¸¸ç¨çåè½ãä½ä¸ºä¸ä¸ªå°åçè½»é级åºç¨æå¡å¨ï¼Tomcatå¨ä¸å°åç³»ç»å并å访é®ç¨æ·ä¸æ¯å¾å¤çåºåä¸è¢«æ®é使ç¨ï¼æ为ç®åæ¯è¾æµè¡çWeb åºç¨æå¡å¨ã
èJBoss Webéç¨ä¸çæä¼çå¼æºJava Webå¼æï¼ å°Java社åºä¸ä¸è½½éæ大ï¼ç¨æ·æ°æå¤ï¼æ åæ¯ææå®å¤çTomcatå æ ¸ä½ä¸ºå ¶Servlet容å¨å¼æï¼å¹¶å ä»¥å®¡æ ¸åè°ä¼ãå纯çTomcatæ§è½æéï¼å¨å¾å¤å°æ¹è¡¨ç°ææ¬ ç¼ºï¼å¦æ´»å¨è¿æ¥æ¯æãéæå 容ã大æ件åHTTPSçãé¤äºæ§è½é®é¢ï¼Tomcatçå¦ä¸å¤§ç¼ºç¹æ¯å®æ¯ä¸ä¸ªåéçéæå¹³å°ï¼ä» è½è¿è¡Javaåºç¨ç¨åºãä¼ä¸å¨ä½¿ç¨æ¶Tomcatï¼å¾å¾è¿éåæ¶é¨ç½²Apache Web Server以ä¸ä¹æ´åãæ¤é ç½®è¾ä¸ºç¹çï¼ä¸ä¸è½ä¿è¯æ§è½çä¼è¶æ§ã
JBosså¨Tomcatçåºç¡ä¸ï¼å¯¹å ¶è¿è¡æ¬å°åï¼å°Tomcat 以å åµçæ¹å¼éæå° JBoss ä¸ãJBoss Webéè¿ä½¿ç¨APRåTomcatæ¬å°ææ¯çæ··å模åæ¥è§£å³Tomcatç诸å¤ä¸è¶³ãæ··åææ¯æ¨¡åä»ææ°çæä½ç³»ç»ææ¯éæä¾äºæ好ç线ç¨åäºä»¶å¤çãç»æï¼JBoss Webè¾¾å°äºå¯æ©å±æ§ï¼æ§è½åæ°å¹é çè³è¶ è¶äºæ¬å°Apache HTTPæå¡å¨æè IISãè¬å¦JBoss Webè½å¤æä¾æ°æ®åºè¿æ¥æ± æå¡ï¼ä¸ä» æ¯æ JSP ç Java ææ¯ï¼åæ¶è¿æ¯æå ¶ä» Web ææ¯çéæï¼è¬å¦ PHPã.NET 两大éµè¥ã
æ ååæ¯åå°ææ¯ä¾èµé£é©ï¼ä¿æ¤æèµæ好çæ¹å¼ãJBoss Webçå æ¯æå ¨ç³»åJEE Webæ åï¼ä»æ ¹æ¬ä¸ä¿è¯äºåºç¨âä¸æ¬¡å¼åï¼å°å¤è¿è¡âçç¹ç¹ï¼ä½¿åºç¨æåè½æ¹ä¾¿å°å¨JBoss Webåå ¶ä»Java Webæå¡å¨ä¹é´è½»æè¿ç§»ã
éå¤åè½äºä¸èº«ï¼æ§è½åè¶
ä½ä¸ºWeb åºç¨æå¡å¨ä¸çææ产åï¼JBoss Webæå¡å¨éå¤ç§åè½äºä¸èº«ãå ¶å ³é®åè½å æ¬ï¼å®å ¨æ¯æJava EEãé«åº¦çæ©å±æ§ãå¿«éçéæå 容å¤çã群éãOpenSSLãURLéåå综åæ§ã
JBoss Webæå¡å¨å ·æåçç¹æ§å强大çå¯æ©å±æ§ï¼å¯æ¯æå¤ç§å¹¶éåºäºJavaçæå¡å¨å 容å¤çææ¯ï¼å¯åæ¶è¿è¡JSP, Servlet, Microsoft .NET , PHP å CGIï¼ä¸ºå ¶æä¾ä¸ä¸ªåä¸çãé«æ§è½çä¼ä¸çº§é¨ç½²å¹³å°ã
ä¸Tomcat ç¸æ¯ï¼JBoss Webå¨éæèµæºè®¿é®æ¹é¢æ§è½ä¼è¶ãJBoss Webæ¯æ两ç§ç»ä»¶æ¨¡å¼ââ纯JavaåNative I/Oãå¨Nativeç»ä»¶çæ¯æä¸ï¼å¨æè¿è¡ä¸ä¼åå°ä»»ä½å½±åï¼èéæèµæºç访é®å©ç¨äºæä½ç³»ç»æ¬èº«æä¾ç0æ·è´ä¼ éï¼CPUæ¶èéä½ï¼ååºæ¶é´ç¼©çï¼ååç大大æé«ï¼æ··åçè¿æ¥æ¨¡å¼æ¯ææ大达å°ä¸ªå¹¶å客æ·ç«¯çåæ¶è®¿é®ï¼ä¸Apache Webæå¡å¨ç¸å½ãé¨ç½²äºé«æ§è½çæä½ç³»ç»ï¼å¯å©ç¨JBoss Web对纯JavaåNative I/O两ç§æ¨¡å¼çæ¯æï¼ä½¿å¾åºç¨å¨å¼åæ¶å¯éæ¶è·¨å¹³å°ææ·è¿ç§»ï¼èé¨ç½²äºé«æ§è½çæä½ç³»ç»ç¸å ³çNativeç¯å¢ãç±äºJBoss Webè¾å¥½å°è§£å³äºéæèµæºç访é®æ§è½é®é¢ï¼å¯å¨è§£å³æ¹æ¡ä¸æå®ç´æ¥ä½ä¸ºå¼ºå¤§çLVSçåå对象ï¼åRHELè´è½½åè¡¡ç³»ç»ç»åï¼å½¢æç论ä¸æ é线æ§æ©å±çè´è½½åè¡¡åºæ¯ã
OpenSSLæ¯ä¸çæ为快éåå®å ¨çå¼æºä¼ è¾ç»ä»¶ï¼å¯åå©æä½ç³»ç»å硬件çç¹æ§å®ç°é«æçå®å ¨æ¿è½½ãJBoss WebéæäºOpenSSLï¼å¯æä¾é«æçå®å ¨ä¼ è¾æå¡ï¼ä½¿å¾å®å ¨æºå¶æ´ä¸å°é¶ãç 究表æï¼ JBoss Webä¸çSSLæ§è½æ¯å纯çTomcatå¿«ååã
URLéååè½å¯ç¼©çURLï¼éèå®é è·¯å¾æé«å®å ¨æ§ï¼æäºç¨æ·è®°å¿åé®å ¥ï¼å被æç´¢å¼ææ¶å½ãTomcat ä¸å ·å¤URLéååè½ï¼JBoss Webåå¯æä¾ä¸ä¸ªçµæ´»çURL rewritingæä½å¼æï¼æ¯ææ é个è§åæ°åè§åæ¡ä»¶ãURLå¯è¢«éå以æ¯æéççURLé误å¤çï¼æåºå¯¹æå¡å¨ä¸æ¶äº§ççå ¶ä»é®é¢ã
JBoss Webæ¢å¯åç¬è¿è¡ï¼ä¹å¯æ ç¼åµå ¥JBossåºç¨æå¡å¨ï¼æ为JBossä¸é´ä»¶å¹³å°çä¸é¨åãä¸ä» åå°æå¡è°ç¨çæ§è½å°å¾ä»¥æåï¼ä¹å¯å©ç¨ä»¥ä¸JBosså¹³å°çç¹æ§æåWebåºç¨åè½ï¼
åºäºJGroupsçå¤ç§é群æ¹æ¡çæ¯æ
åºäºArjunaææ¯çJTAåJTSçäºå¡å¤çæ¯æ
ä¼åç线ç¨æ± åè¿æ¥æ± çæ¯æ
åºäºJMX æ§å¶å°çåºæ¬ç®¡çæ¯æåJBoss Onçé«çº§ç®¡çç»´æ¤æ¯æ
åºäºJBoss AOPææ¯çé¢åæ¹é¢æ¶æçæ¯æ
Hibernateæå¡ç»ä»¶çæ¯æ
JBoss Webå Tomcatçåºå«
Tomcat æå¡å¨æ¯ä¸ä¸ªå è´¹çå¼æ¾æºä»£ç çWeb åºç¨æå¡å¨ï¼ææ¯å è¿ãæ§è½ç¨³å®ï¼èä¸å è´¹ï¼å èæ·±åJava ç±å¥½è çåç±å¹¶å¾å°äºé¨å软件å¼ååç认å¯ãå ¶è¿è¡æ¶å ç¨çç³»ç»èµæºå°ï¼æ©å±æ§å¥½ï¼ä¸æ¯æè´è½½å¹³è¡¡ä¸é®ä»¶æå¡çå¼ååºç¨ç³»ç»å¸¸ç¨çåè½ãä½ä¸ºä¸ä¸ªå°åçè½»é级åºç¨æå¡å¨ï¼Tomcatå¨ä¸å°åç³»ç»å并å访é®ç¨æ·ä¸æ¯å¾å¤çåºåä¸è¢«æ®é使ç¨ï¼æ为ç®åæ¯è¾æµè¡çWeb åºç¨æå¡å¨ãèJBoss Webéç¨ä¸çæä¼çå¼æºJava Webå¼æï¼ å°Java社åºä¸ä¸è½½éæ大ï¼ç¨æ·æ°æå¤ï¼æ åæ¯ææå®å¤çTomcatå æ ¸ä½ä¸ºå ¶Servlet容å¨å¼æï¼å¹¶å ä»¥å®¡æ ¸åè°ä¼ãå纯çTomcatæ§è½æéï¼å¨å¾å¤å°æ¹è¡¨ç°ææ¬ ç¼ºï¼å¦æ´»å¨è¿æ¥æ¯æãéæå 容ã大æ件åHTTPSçãé¤äºæ§è½é®é¢ï¼Tomcatçå¦ä¸å¤§ç¼ºç¹æ¯å®æ¯ä¸ä¸ªåéçéæå¹³å°ï¼ä» è½è¿è¡Javaåºç¨ç¨åºãä¼ä¸å¨ä½¿ç¨æ¶Tomcatï¼å¾å¾è¿éåæ¶é¨ç½²Apache Web Server以ä¸ä¹æ´åãæ¤é ç½®è¾ä¸ºç¹çï¼ä¸ä¸è½ä¿è¯æ§è½çä¼è¶æ§ãããJBosså¨Tomcatçåºç¡ä¸ï¼å¯¹å ¶è¿è¡æ¬å°åï¼å°Tomcat 以å åµçæ¹å¼éæå° JBoss ä¸ãJBoss Webéè¿ä½¿ç¨APRåTomcatæ¬å°ææ¯çæ··å模åæ¥è§£å³Tomcatç诸å¤ä¸è¶³ãæ··åææ¯æ¨¡åä»ææ°çæä½ç³»ç»ææ¯éæä¾äºæ好ç线ç¨åäºä»¶å¤çãç»æï¼JBoss Webè¾¾å°äºå¯æ©å±æ§ï¼æ§è½åæ°å¹é çè³è¶ è¶äºæ¬å°Apache HTTPæå¡å¨æè IISãè¬å¦JBoss Webè½å¤æä¾æ°æ®åºè¿æ¥æ± æå¡ï¼ä¸ä» æ¯æ JSP ç Java ææ¯ï¼åæ¶è¿æ¯æå ¶ä» Web ææ¯çéæï¼è¬å¦ PHPã.NET 两大éµè¥ã
æ ååæ¯åå°ææ¯ä¾èµé£é©ï¼ä¿æ¤æèµæ好çæ¹å¼ãJBoss Webçå æ¯æå ¨ç³»åJEE Webæ åï¼ä»æ ¹æ¬ä¸ä¿è¯äºåºç¨âä¸æ¬¡å¼åï¼å°å¤è¿è¡âçç¹ç¹ï¼ä½¿åºç¨æåè½æ¹ä¾¿å°å¨JBoss Webåå ¶ä»Java Webæå¡å¨ä¹é´è½»æè¿ç§»ãããéå¤åè½äºä¸èº«ï¼æ§è½åè¶
ä½ä¸ºWeb åºç¨æå¡å¨ä¸çææ产åï¼JBoss Webæå¡å¨éå¤ç§åè½äºä¸èº«ãå ¶å ³é®åè½å æ¬ï¼å®å ¨æ¯æJava EEãé«åº¦çæ©å±æ§ãå¿«éçéæå 容å¤çã群éãOpenSSLãURLéåå综åæ§ã
JBoss Webæå¡å¨å ·æåçç¹æ§å强大çå¯æ©å±æ§ï¼å¯æ¯æå¤ç§å¹¶éåºäºJavaçæå¡å¨å 容å¤çææ¯ï¼å¯åæ¶è¿è¡JSP, Servlet, Microsoft .NET , PHP å CGIï¼ä¸ºå ¶æä¾ä¸ä¸ªåä¸çãé«æ§è½çä¼ä¸çº§é¨ç½²å¹³å°ã
ä¸Tomcat ç¸æ¯ï¼JBoss Webå¨éæèµæºè®¿é®æ¹é¢æ§è½ä¼è¶ãJBoss Webæ¯æ两ç§ç»ä»¶æ¨¡å¼ââ纯JavaåNative I/Oãå¨Nativeç»ä»¶çæ¯æä¸ï¼å¨æè¿è¡ä¸ä¼åå°ä»»ä½å½±åï¼èéæèµæºç访é®å©ç¨äºæä½ç³»ç»æ¬èº«æä¾ç0æ·è´ä¼ éï¼CPUæ¶èéä½ï¼ååºæ¶é´ç¼©çï¼ååç大大æé«ï¼æ··åçè¿æ¥æ¨¡å¼æ¯ææ大达å°ä¸ªå¹¶å客æ·ç«¯çåæ¶è®¿é®ï¼ä¸Apache Webæå¡å¨ç¸å½ãé¨ç½²äºé«æ§è½çæä½ç³»ç»ï¼å¯å©ç¨JBoss Web对纯JavaåNative I/O两ç§æ¨¡å¼çæ¯æï¼ä½¿å¾åºç¨å¨å¼åæ¶å¯éæ¶è·¨å¹³å°ææ·è¿ç§»ï¼èé¨ç½²äºé«æ§è½çæä½ç³»ç»ç¸å ³çNativeç¯å¢ãç±äºJBoss Webè¾å¥½å°è§£å³äºéæèµæºç访é®æ§è½é®é¢ï¼å¯å¨è§£å³æ¹æ¡ä¸æå®ç´æ¥ä½ä¸ºå¼ºå¤§çLVSçåå对象ï¼åRHELè´è½½åè¡¡ç³»ç»ç»åï¼å½¢æç论ä¸æ é线æ§æ©å±çè´è½½åè¡¡åºæ¯ã
OpenSSLæ¯ä¸çæ为快éåå®å ¨çå¼æºä¼ è¾ç»ä»¶ï¼å¯åå©æä½ç³»ç»å硬件çç¹æ§å®ç°é«æçå®å ¨æ¿è½½ãJBoss WebéæäºOpenSSLï¼å¯æä¾é«æçå®å ¨ä¼ è¾æå¡ï¼ä½¿å¾å®å ¨æºå¶æ´ä¸å°é¶ãç 究表æï¼ JBoss Webä¸çSSLæ§è½æ¯å纯çTomcatå¿«ååã
URLéååè½å¯ç¼©çURLï¼éèå®é è·¯å¾æé«å®å ¨æ§ï¼æäºç¨æ·è®°å¿åé®å ¥ï¼å被æç´¢å¼ææ¶å½ãTomcat ä¸å ·å¤URLéååè½ï¼JBoss Webåå¯æä¾ä¸ä¸ªçµæ´»çURL rewritingæä½å¼æï¼æ¯ææ é个è§åæ°åè§åæ¡ä»¶ãURLå¯è¢«éå以æ¯æéççURLé误å¤çï¼æåºå¯¹æå¡å¨ä¸æ¶äº§ççå ¶ä»é®é¢ãããJBoss Webæ¢å¯åç¬è¿è¡ï¼ä¹å¯æ ç¼åµå ¥JBossåºç¨æå¡å¨ï¼æ为JBossä¸é´ä»¶å¹³å°çä¸é¨åãä¸ä» åå°æå¡è°ç¨çæ§è½å°å¾ä»¥æåï¼ä¹å¯å©ç¨ä»¥ä¸JBosså¹³å°çç¹æ§æåWebåºç¨åè½ï¼
åºäºJGroupsçå¤ç§é群æ¹æ¡çæ¯æ
åºäºArjunaææ¯çJTAåJTSçäºå¡å¤çæ¯æããä¼åç线ç¨æ± åè¿æ¥æ± çæ¯æ
åºäºJMX æ§å¶å°çåºæ¬ç®¡çæ¯æåJBoss Onçé«çº§ç®¡çç»´æ¤æ¯æ
åºäºJBoss AOPææ¯çé¢åæ¹é¢æ¶æçæ¯æ
Hibernateæå¡ç»ä»¶çæ¯æ
ä¸ä¸å¢éæ¯æ
ä¸ç大å¤æ°å¼æºäº§åå¨ææ¯æ¹é¢å¯äºåæ°æ§ï¼ä½å¨å¯æç»æ§ï¼äº§åçå½å¨æè§åï¼ä»¥åè´¨éä¿è¯æ¹é¢ç¼ºä¹ææä¿éï¼ä¸ºè½¯ä»¶éæååæç»ç¨æ·æè¯ç ã红帽æåè¡çâä¸ä¸åå¼æºææ¯âåå®ç¾è§£å³äºè¿ä¸é®é¢ã
MQTT Broker 选型
MQTT Broker选型 在构建分布式系统时,选择合适的MQTT Broker至关重要,它负责接收发布者发布的消息并将其分发给不同的订阅者。市面上有许多MQTT Broker可供选择,以下是一些常用选项的对比与分析。Mosquitto
Mosquitto是linphone jar 源码由Eclipse出品的开源MQTT Broker,基于C/C++语言编写,当前版本为1.5.8。其特点包括支持MQTT 3.1/3.1.1协议,但性能上存在一些限制,如内存优化、多线程的锁机制等。它适合运行在低功耗设备上,如嵌入式传感器、手机和微处理器,但不适用于大规模云服务。官方文档显示其理论支持约万连接,实际使用中还需根据具体情况进行评估。EMQ (emqttd)
EMQ,mkcmspro源码一款国人开发的开源MQTT Broker,目前版本为2.0和3.0,2.0版本支持本地共享订阅,3.0版本新增集群共享订阅功能。EMQ具有完整QoS支持、单节点万连接能力、分布式集群支持、多种验证插件(如LDAP、MySQL、iappVNP源码PostgreSQL等)以及API、Web监控界面等特性。官方宣称支持MQTT 3.1、3.1.1和5.0版本,并在性能上做了优化。然而,开源版本不支持服务器内部消息持久化,这是其一个显著限制。HiveMQ
HiveMQ是simassist源码一款企业级MQTT Broker,使用Java编写,功能丰富,支持MQTT 3.1、3.1.1和5.0版本,完整QoS支持,分布式集群,持久化支持,流量控制,IPv6支持等。pidconlscl源码其唯一限制在于高昂的费用,没有公开源码供参考。集群基于Jgroups,数据同步通过自定义一致性哈希和VectorClock实现。多线程和并发控制使用Google的guava库,代码质量高。MqttWk
MqttWk是一个基于nutzboot、netty、redis和kafka实现的MQTT服务开源Broker,代码简洁易懂。它支持MQTT和Websocket连接方式,集群功能和消息分发重试,但存在一些限制,如消息队列非队列结构、消息分发重试机制较差、主题限制等。它是上生产的项目,经历过2万设备连接的考验。Jmqtt
Jmqtt是一个基于Java的开源MQTT Broker,对现有开源Broker进行了优化,特别是在CONNECT处理和Session过期管理方面。支持MQTT和Websocket连接方式,使用RocksDB进行本地存储,但不支持集群和SSL。Moquette
Moquette是一个功能齐全的Java编写的开源MQTT Broker,提供完整的QoS服务和认证方式,支持多种持久化存储。然而,0.版本中存在内存泄漏问题,官方修复后发布为irubant/moquette。其集群功能仅使用Hazelcast作为消息总线,不支持共享订阅。 综上所述,选择合适的MQTT Broker需考虑应用的具体需求,包括连接数量、协议版本、性能要求、集群支持、消息持久化、安全认证等因素。在选择时,应充分评估各Broker的特性和限制,以满足实际应用场景的需要。