SOFABoltÊÇÂìÒϽðÈÚ·þÎñÏîÄ¿¼¯ÍŹ«Ë¾¿ª·¢Éè¼ÆµÄÒ»Ì׸ù¾ÝNettyÍê³ÉµÄÍøÂçͨÐÅ¿ò¼Ü£¬Ïֽ׶θÃÉÌÆ·ÔçÒÑÓ¦ÓÃÔÚÁËСÂìÒÏ·Ö²¼Ê½Êý¾Ý¿âµÄ΢·þÎñ¼Ü¹¹ (SOFARPC)¡¢ÏûÏ¢ºÐ×Ó¡¢·Ö²¼Ê½ÊÂÎñ¡¢·Ö²¼Ê½ÏµÍ³µçÔ´¿ª¹Ø¡¢¼°ÆäÅäÖÃÖÐÐĵÈÖî¶àÉÌÆ·ÉÏ¡£
SOFABoltµÄ»ù´¡×÷Óðüº¬£º
1¡¢»ù´¡Í¨Ñ¶×÷Óà ( remoting-core )
¸ù¾Ý Netty ¸ßЧÂʵĻ¥ÁªÍø IO Óë½ø³ÌʵÌåÄ£ÐÍÓ¦ÓÃ
Áª½Ó¹ÜÀí·½·¨ (ÎÞËø½¨Á¬£¬°´Ê±¶ÏÏߣ¬È«×Ô¶¯ÖØÐÂÁ¬½Ó)
»ù´¡Í¨ÐÅÄ£ÐÍ ( oneway£¬sync£¬future£¬callback )
ÇëÇó³¬Ê±²Ù×Ý
´óÅúÁ¿½âѹ¹¤¾ßÓë´óÅúÁ¿µÝ½»´¦ÀíÆ÷
ÐÄÂÊÓë IDLE ʹʴ¦Àí
2¡¢ÐÒéÊé¿ò¼Ü ( pro tocol-skeleton )
Ö¸ÁîÓëÖ¸Áî´¦ÀíÆ÷
±àÂë½âÂë´¦ÀíÆ÷
ÐÄÂÊ´¥·¢Æ÷ÔÀí
3¡¢¶ÀÏíÐÒéÊ鶩ÖÆÍê³É - RPC ͨÐÅÐÒé ( prot ocol-implementation )
RPC ͨÐÅÐÒéµÄÉè¼Æ·½°¸
Áé±ãµÄ·´ÐòÁл¯»ú»á²Ù×Ý
ÒªÇó½â¾öÇëÇó³¬Ê± FailFast ÌåÖÆ
¿Í»§ÒªÇó´¦ÀíÆ÷ ( UserProcessor )
Ë«¹¤Í¨Ñ¶
¶àÌØÈí¼þ԰ΪÄúÕûÀíÁ˶à¿î¹È¸è·þÎñ¿ò¼ÜÈí¼þÈí¼þ£¬ÔÚ¶àÌØÄúÄÜÏÂÔضà¿îÕý¹æµÄ¡¢ÎÞ¶¾Èí¼þ£¬ÆäÖÐÓйȸè·þÎñ¿ò¼Ü¡¢»ªÎª¹È¸è·þÎñ¿ò¼Ü¡¢¹È¸è·þÎñ¿ò¼Üoppoר°æµÈApp£¬ÕÒÈí¼þÒ»¶¨ÒªÕÒÕý¹æƽ̨£¬¶àÌØÿһ¿îÈí¼þ¶¼½øÐвéɱ£¬È·±£Èí¼þ°²È«£¬ÏëÒªÕҹȸè·þÎñ¿ò¼ÜÈí¼þÓ¦Ó㬸ϽôÀ´¶àÌØÈí¼þÔ°¿´¿´°É¡£
¶àÌØÈí¼þ԰ΪÄúÕûÀíÁ˶à¿îÊʺÏÓÎÏ·¿ò¼ÜÃâroot·ÀÉÁÍË£¬ÔÚ¶àÌØÄúÄÜÏÂÔضà¿îÕý¹æµÄ¡¢ÎÞ¶¾Èí¼þ,ÔÚÕâÀﰲ׿°æÆ»¹û°æµÈÓ¦ÓÃÓ¦Óо¡ÓÐ,ÕÒÊʺÏÓÎÏ·¿ò¼ÜÃâroot·ÀÉÁÍË
¶àÌØÈí¼þ԰ΪÄúÕûÀíÁ˶à¿îÊʺÏ×îа治ÉÁÍ˵ÄÃâroot¿ò¼Ü£¬ÔÚ¶àÌØÄúÄÜÏÂÔضà¿îÕý¹æµÄ¡¢ÎÞ¶¾Èí¼þ,ÔÚÕâÀﰲ׿°æÆ»¹û°æµÈÓ¦ÓÃÓ¦Óо¡ÓÐ,ÕÒÊʺÏ×îа治ÉÁÍ˵ÄÃâroot¿ò¼Ü