ÔÚÕâÆªÎÄÕÂÀÎÒ½«ºÍ´ó¼Ò·ÖÏíÒ»ÏÂÎÒÓÃScala¡¢Akka¡¢Play¡¢KafkaºÍElasticSearchµÈ¹¹½¨´óÐÍ·Ö²¼Ê½¡¢ÈÝ´í¡¢¿ÉÀ©Õ¹µÄ·ÖÎöÒýÇæµÄ¾Ñé¡£
ÎҵķÖÎöÒýÇæÖ÷ÒªÊÇÓÃÓÚÎı¾·ÖÎöµÄ¡£ÊäÈëÓнṹ»¯µÄ¡¢·Ç½á¹¹»¯µÄºÍ°ë½á¹¹»¯µÄÊý¾Ý£¬ÎÒÃÇ»áÓ÷ÖÎöÒýÇæ¶ÔÊý¾Ý½øÐдóÁ¿´¦Àí¡£ÈçÏÂͼËùʾΪµÚÒ»´ú¼Ü¹¹£¬·ÖÎöÒýÇæ¿ÉÒÔÓÃREST¿Í»§¶Ë»òWeb¿Í»§¶Ë£¨ÒýÇæÄÚÖã©·ÃÎÊ¡£

¼òµ¥ÃèÊöÒ»ÏÂÓõ½µÄ¼¼Êõ£º
Play¿ò¼Ü×öREST·þÎñÆ÷ºÍWEBÓ¦Óá£PlayÊǸö»ùÓÚÇáÁ¿¼¶¡¢ÎÞ״̬ºÍWEBÓѺõÄMVC¿ò¼Ü¡£
Akka¼¯Èº×÷´¦ÀíÒýÇæ¡£AkkaÊǸö¹¤¾ß¼¯£¬ÓÃÓÚÔÚJVMÉϼò»¯±àд¸ß²¢·¢¡¢·Ö²¼Ê½¡¢ºÍÓе¯ÐÔµÄÏûÏ¢Çý¶¯Ó¦Óá£
ClusterClientÓÃÓÚÓëAkka¼¯ÈºÍ¨ÐÅ¡£ËüÔËÐÐÔÚREST·þÎñÆ÷ÉÏ£¬½«ÈÎÎñ·¢¸øAkka¼¯Èº¡£Ê¹ÓÃClusterClientÊÇÒ»¸ö·Ç³£´íÎóµÄ¾ö¶¨£¬ÒòΪËü²¢²»»áά³ÖÓëAkka¼¯ÈºµÄ³¤Á¬½Ó£¬Òò¶ø»á¾³£±¨Á¬½Ó´íÎ󣬶øÇÒÖØÐ½¨Á¢Á¬½Óʱ»¹Òª°ÑÄǸöClientËùÔÚµÄJVMÒ²Ò»ÆðÖØÆô¡£
ElasticSearchÓÃ×÷²éѯÒýÇæºÍÊý¾Ý´æ´¢£¬°üÀ¨ÔʼÊý¾ÝºÍ·ÖÎö½á¹û¡£
KibanaÓÃ×÷¿ÉÊÓ»¯Æ½Ì¨¡£KibanaÊÇÓе¯ÐԵķÖÎöºÍ¿ÉÊÓ»¯Æ½Ì¨¡£
Akka ActorÓÃ×÷ElasticSearchµÄÊý¾Ýµ¼Èëµ¼³ö·þÎñ¡£ËüµÄ±íÏַdz£ºÃ£¬·þÎñ´ÓÀ´Ã»³ö¹ý¹ÊÕÏ¡£
S3ÓÃ×÷¼¯Öл¯Îļþ´æ´¢¡£
Elastic Load BalanceÓÃ×÷½ÚµãÖ®¼äµÄ¸ºÔؾùºâ¡£
MySQLÓÃÓÚÔªÊý¾Ý´æ´¢¡£
ÎÒÃÇ´ÓAkka 2.2.x°æ¿ªÊ¼ÓÃÆð£¬Ò²Åöµ½ÁËһЩÑÏÖØÎÊÌ⣬Ö÷Òª±íÏÖΪ£º
ClusterClientÓëAkka¼¯ÈºÖ®¼äÁ¬½Ó¶Ï¿ª£ºÔÚ¸ºÔØ´óCPUʹÓÃÂʸßʱ£¬ClusterClient³£³£ÄªÃûÆäÃîµÄÓëAkka¼¯Èº¶Ï¿ªÁ¬½Ó¡£ÒòΪËüÊǸöµÚÈý·½¿â£¬ËùÒÔÎÒÃÇÖ»ºÃ°ÑJVMÖØÆôÀ´ÈÃËü¼ÌÐø¹¤×÷£¬ÓеÄʱºò»¹Òª°ëÒ¹ÅÀÆðÀ´´¦ÀíÎÊÌâ¡£
×ÊÔ´ÀûÓÃÂÊ£ºÎÒÃÇ·¢ÏÖREST·þÎñÆ÷ÉÏCPUʹÓÃÂÊÖ»ÓÐ2-5%£¬ÕâÑùÌ«ÀË·Ñ×ÊÔ´ÁË£¬Amazon EC2·þÎñÆ÷¿É²»±ãÒË¡£
ÑÓ³ÙÎÊÌ⣺REST·þÎñÆ÷ÔËÐÐÔÚ²»Í¬µÄ·þÎñÆ÷ÉÏ¡£ÕâÑù¾ÍÔì³ÉÁËÑÓ³ÙÎÊÌ⣬ÒòΪ¶ÔÓÚÿһÌõClient·¢¹ýÀ´µÄÇëÇó£¬Ëü¶¼Òª°ÑÇëÇó·´ÐòÁл¯£¬ÔÙÐòÁл¯È»ºó²ÅÄÜ·¢µ½Akka¼¯Èº¡£´ÓAkka¼¯Èº·¢À´µÄÏìÓ¦ÏûÏ¢Ò²ÊÇÒ»Ñù£¬ÒªÏÈ·´ÐòÁл¯ÔÙÐòÁл¯£¬È»ºó²ÅÄÜ·¢¸øÇëÇ󷽡£ÕâÑùµÄÐòÁл¯ºÍ·´ÐòÁл¯¹ý³Ì³£³£µ¼Ö³¬Ê±ÎÊÌâ¡£¶øÇÒ£¬ÎÒÃÇÖ»ÊǰÑPlayÓÃ×÷RESTºǫ́¶ø²»ÊÇÍêÕûµÄWEB¿ò¼Ü£¬ÎÒ³ÐÈÏÕâÊÇÎÒÃǵÄÉè¼ÆÎÊÌâ¡£
ΪÁ˽â¾öÕâЩÎÊÌâÎÒÃÇÉè¼ÆÁ˵ڶþ´ú¼Ü¹¹£¬Ö÷Òª±ä»¯ÓУº
È¥µôAkka ClusterClient¡£
ÓÃSprayÌæ»»µôPlay¼Ü¹¹£¬ÒòΪ°ÑPlayÓÃ×÷REST·þÎñ²»ÊǸöÕýÈ·µÄ¾ö¶¨¡£SprayÊǸöÇáÁ¿¼¶HTTP·þÎñÆ÷¡£
ΪÁ˼õÉٶ˵½¶ËµÄÑÓ³Ù£¬ÎÒÃǰÑREST·þÎñÔËÐÐÔÚAkka¼¯Èº½ÚµãËùÔÚµÄJVMÉÏ£¬¶ø²»Êǵ¥¶ÀµÄ½ÚµãÉÏ¡£
мܹ¹ÊÇÕâÑùµÄ£º

Ì«°ôÁË£¬ÕâÑùµÄϵͳ¹¤×÷µÃ·Ç³£ºÃ¡£Éú»îÓÖ±äµÃ·Ç³£ÃÀºÃ£¬ÍŶÓÒ²µÃµ½Á˺ܶà±íÑï¡£
Èý¸öÔºó£¬À´Á˸öÒªÔö¼ÓDatasift×öΪÊý¾ÝÔ´µÄÐÂÐèÇó£¬ÌṩÁ÷Êý¾ÝºÍÀúÊ·Êý¾Ý¡£Õâ¸öÐèÇóºÃÂú×㣬ֻҪÔö¼ÓÒ»¸öзþÎñ£¬´ÓDatasiftÖÐÀÈ¡Êý¾Ý²¢·¢Ë͵½·ÖÎö¼¯ÈºÉϼ´¿É¡£

Ôö¼ÓзþÎñºÜ¼òµ¥£¬µ«È´µ¼ÖÂÁËÐÂÎÊÌ⣺
ÉÏÊö¼Ü¹¹±¾ÖÊÉÏÀ´ËµÊǸöÍÆËÍÄ£ÐÍ£¬Ã¿µ±ÓдóÁ¿µÄÁ÷»òÀúÊ·Êý¾Ý±»ÍÆË͹ýÀ´Ê±£¬¼¯Èº¾Í»á´¦Àí²»¹ýÀ´¡£
ÎÒÃǾö¶¨°Ñ¼¯ÈºÓÉ4¸ö½ÚµãÀ©Õ¹Îª8¸ö½Úµã¡£ÕâÑù·åÖµÇé¿öÏ»¹¿ÉÒÔ£¬µ«Õý³£Çé¿öÏ´ó¶àÊý½Úµã¶¼´¦Óڷdz£¿ÕÏеÄ״̬¡£ÎÒÃÇÓõÄÊÇAmazon EC2 4x.Large½Úµã£¬·Ç³£¹ó£¬ËùÒÔ¾ÍÒý·¢³öÁË»ù´¡ÉèÊ©µÄ·ÑÓÃÎÊÌâ¡£
ÎÒÃǾö¶¨Ê¹ÓÃAmazonµÄ×Ô¶¯À©ÈÝ·þÎñ¡£ÔÚ¼¯ÈºÉϸºÔØÔö¼ÓʱËüµÄÈ·ÊÇ×Ô¶¯À©ÈÝÁË£¬¿ÉÊǸºÔؽµÏÂÀ´Ê±ËüȴûÓÐËõÈÝ¡£Amazon×Ô¶¯À©ÈÝ·þÎñ¶ÔÎÒÃǵÄÒµÎñÇé¿ö´¦ÀíµÃ²»¹»ºÃ¡£
ÁíÒ»¸öÎÊÌâÊÇAkka¼¯ÈºµÄÄÚ²¿½ÚµãͨÐÅÔÚCPUʹÓÃÂʳ¬¹ý90%ʱ³£³£³öÎÊÌ⣬ÔÒò¿ÉÄÜÊÇÒòΪÎÒÃǾÑé²»¹»²»»áÅäAkka¼¯Èº£¬Ò²ÓпÉÄÜÊÇAkka¼¯ÈºÄÇʱºò²»ÏóÏÖÔÚÕâô³ÉÊì¡£
Èç¹ûÓнڵã±ÀÀ£µÄ»°£¬ÄÇÕû¸ö´¦Àí¹ý³Ì¾Í»áÍ£Ö¹¡£
µ±ÎÒÃÇÔÚŬÁ¦ÎªÕâ¸öÎÊÌâÕÒ½â¾ö·½°¸Ê±£¬ÓÖÊÕµ½ÐèÇóÒªÔÙÔö¼ÓÒ»ÖÖÊý¾ÝÔ´£¡
ÔÚ¾¹ýºÜ¶à´ÎÍ·ÄԷ籩֮ºó£¬ÎÒÃÇÃ÷°×ÁËÏÖÓмܹ¹µÄÎÊÌ⣬ÓÚÊÇ×ö³öÁËÒ»¸ö¼òµ¥¡¢¿ÉÀ©Õ¹ºÍÈÝ´íµÄµÚÈý´ú¼Ü¹¹£º

ÔÚÕâ¸öмܹ¹ÀÎÒÃÇÈ¥µôÁËAkka¼¯Èº£¬ÖØÐ´ÁË·ÖÎöÒýÇæ¡£ËüÍêÈ«ÊÇ»ùÓÚAkka ActorµÄ£¬REST·þÎñÒ²ÊÇÔËÐÐÔÚÏàͬµÄJVMÉÏ¡£REST·þÎñÖ»ÊǼòµ¥µÄ´Ó¿Í»§¶Ë½ÓÊÕÇëÇó£¬×öÈÏÖ¤ºÍ¼øÈ¨£¬È»ºó´´½¨Ò»Ìõ´ý´¦ÀíÏûÏ¢·¢Ë͵½Kafka¶ÓÁÐÖÐÈ¥¡£·ÖÎöÒýÇæµÄÿ¸ö½Úµã¶¼»á´ÓKafka¶ÓÁÐÖÐÀÈ¡Êý¾Ý£¬´¦ÀíÍê±ÏÔÙÀÈ¡ÏÂÒ»Åú¡£ÕâÑùËü¾ÍÓÀÔ¶²»»áæ²»¹ýÀ´¡£
ÊÜÒæÓÚKafkaµÄÄÚ²¿»úÖÆ£¬²»¹ÜÄĸö½ÚµãËÀµôÁË£¬Kafka¶¼»á×Ô¶¯µÄ°ÑÒª´¦ÀíµÄÏûÏ¢·¢Ë͵½ÁíÒ»¸öÕý³£½ÚµãÉÏ£¬ËùÒÔ²»»áÓÐÈκÎÏûÏ¢¶ªÊ§¡£
ÔÚÕâ¸ö¼Ü¹¹ÏÂÎÒÃǾͲ»±Ø¼ÌÐø×âÓÃÒÔǰµÄAmazon EC2 4X large·þÎñÆ÷ÁË£¬Ö»ÒªÓÃAmazon EC2 2X large¾Í¿ÉÒÔÖ§³ÖÈκθºÔØ£¬½ÚÊ¡Á˺ܶàÇ®¡££¨´Ë´¦Ó¦ÓÐÕÆÉù¡£:) £©
ÕâÍêÈ«ÊǸö»ùÓÚÀȡģʽµÄ¼Ü¹¹¡£ËùÓеÄÇëÇóºÍÀËÓ¿ ¶¼Í¨¹ýKafka¼¯Èº´¦Àí¡£ËüÓÀÔ¶²»»áæ²»¹ýÀ´£¬ÒòΪËùÓвÙ×÷¶¼ÊÇ»ùÓÚÀȡģʽµÄ¡£Õû¸öϵͳ²¿ÊðÔÚ26̨EC2½ÚµãÉÏ£¬ÒѾ¿ìÁ½ÄêÁË£¬Éú²úϵͳһ´Î¹ÊÕ϶¼Ã»³ö¹ý¡£
ÎÒÃÇÒ²ÓÃKafka±£´æÁ˸÷ÖÖ·þÎñÈÕÖ¾À´·ÖÎöÐÔÄÜ¡¢°²È«ºÍÓû§ÐÐΪ¡£KafkaÉú²úÕß»á°ÑÈÕÖ¾·¢Ë͵½Kafka·þÎñÆ÷ÖС£ÒòΪÎÒÃÇÒѾÓÐÁËElasticSearchµÄµ¼Èëµ¼³ö·þÎñ£¬ÎÒÃÇ¿ÉÒÔÈÔÈ»ÓÃËüÃÇÀ´ÍÆËÍElasticSearchµÄÈÕÖ¾¡£ÎÒÃÇÒ²¿ÉÒÔÇáËɵØÓÃKibana½«Óû§ÐÐΪ¿ÉÊÓ»¯¡£
½áÂÛ
Akka Actors·Ç³£ÊʺÏÓÚ´òÔì¸ß²¢·¢¡¢·Ö²¼Ê½¡¢Óе¯ÐÔµÄÓ¦ÓóÌÐò¡£
Spray·Ç³£ÊʺÏ×÷ÇáÁ¿¼¶HTTP·þÎñÆ÷¡£ÏÖÔÚËüÒѸÄÃûΪAkka-HTTP¡£
Play¿ò¼Ü·Ç³£ÊʺÏÓÚ¹¹½¨¸ß²¢·¢¡¢¿ÉÀ©Õ¹µÄWEBÓ¦Óã¬Ëüµ×²ãÊÇAkka¡£
ElasticSearchÊǸö·Ç³£ºÃµÄËÑË÷ÒýÇæ£¬Ëüµ×²ãÊÇLucene£¬¿ÉÒÔÌṩȫÎļìË÷¹¦ÄÜ¡£¾¡¹ÜÎÒÃÇÒ²°ÑËüµ±³ÉÊý¾Ý´æ´¢À´Ó㬵«Êý¾Ý³Ö¾Ã»¯²¢²»ÊÇËüµÄÇ¿Ï±ÈÈçÓëCassandraÏà±È£©¡£
Kafka·Ç³£ÊʺÏÓÚÁ÷´¦ÀíºÍÈÕÖ¾»ã¾Û¡£ËüµÄ¼Ü¹¹Éè¼Æ¾ÍÒѾ֧³Ö¿ÉÀ©Õ¹¡¢·Ö²¼Ê½¡¢ÈÝ´íµÈ¹¦ÄÜ¡£
ÇëÄÍÐĵȴýÎҸĽøµÚËİæ¼Ü¹¹Ö®ºóÔÙ¸üÐÂÕâÆªÎÄÕ°ɡ¡¿ìÀÖ±à³Ì£¬²»¶Ï´´Ð£¡ |