±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËϵͳ²ÉÓÃËIJã¼Ü¹¹Éè¼Æ£¬·Ö±ðÊÇÕ¹Ïֲ㡢ͨѶ²ã¡¢·þÎñ²ã¡¢Êý¾Ý²ã£¬°üÀ¨Ò»Ð©ÆäËûµÄÈÏ֤ϵͳ¡¢ÈÕ־ϵͳ¡¢»á»°ÖÎÀíÒÔ¼°DNS½Ù³Ö´¦Àí
À´×ÔÓÚ½ñÈÕÍ·Ìõ£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
ϵͳ¼Ü¹¹Í¼£º

ϵͳ²ÉÓÃËIJã¼Ü¹¹Éè¼Æ
Ò»¡¢Õ¹ÏÖ²ã
Webǰ¶Ë
»ùÓÚHTML/HTML5/Vue/CSS3¿ª·¢webǰ¶ËÒ³Ãæ£¬¼æÈÝÖ÷Á÷ä¯ÀÀÆ÷¡£Õ¹ÏÖ²ãºÍÊý¾Ý²ãÍêÈ«·ÖÀ룬ͨ¹ý¿çÓòʵÏÖǰºó¶ËÊý¾ÝͨÐÅ¡£
APP
android£¬ios »ùÓÚÔÉú¿ª·¢¡£ÔÚapp¶ËʵÏÖhttpsÁ´Â·ÇëÇóÓÅ»¯£¬×ö·ÀµÁÁ´ºÍDNS½Ù³Ö´¦Àí¡£
΢ÐŹ«ÖÚºÅ/΢ÐÅС³ÌÐò
¸üÐÂÒµÎñÐèÒª£¬½«²¿·ÖÊý¾ÝÒÔ΢ÐŹ«ÖÚºÅ+H5µÄ·½Ê½Õ¹ÏÖ£»Éæ¼°Ó²¼þÉ豸¿ØÖƹ¦ÄܵÄϵͳ²¿·ÖÄ£¿é²ÉÓÃ΢ÐÅС³ÌÐò£¬Ôö¼ÓÓû§²Ù×÷ÌåÑéºÍ·ÃÎʱã½ÝÐÔ¡£
Restful½Ó¿Ú
»ùÓÚÌØ¶¨ÒµÎñ£¬²ÉÓÃRestful±ê×¼½Ó¿Ú£¬¶ÔÍâÌṩÊý¾Ý·þÎñ¡£
¶þ¡¢Í¨Ñ¶²ã
»ùÓÚ°¢ÀïÔÆCDNʵÏÖ¾²Ì¬Êý¾Ý¼ÓËÙ£»
»ùÓÚ°¢ÀïÔÆSLB£¬ÊµÏÖ·þÎñÆ÷¸ºÔؾùºâ£»
»ùÓÚTCP/HTTP/HTTPS ÈýÖÖͨÐÅ·½Ê½£¬ÊµÏÖǰºó¶ËÊý¾ÝͨÐÅ¡£ÆäÖУ¬TCP»ùÓÚNettyʵÏÖ£»
Èý¡¢·þÎñ²ã
ºËÐÄÒµÎñ»ùÓÚSpring Cloud ¼Ü¹¹ÊµÏÖ΢·þÎñ»¯¡£

Spring CloudÊÇÒ»¸ö»ùÓÚSpring BootʵÏÖµÄÔÆÓ¦Óÿª·¢¹¤¾ß£¬ËüΪ»ùÓÚJVMµÄÔÆÓ¦Óÿª·¢ÖеÄÅäÖùÜÀí¡¢·þÎñ·¢ÏÖ¡¢¶Ï·Æ÷¡¢ÖÇÄÜ·ÓÉ¡¢Î¢´úÀí¡¢¿ØÖÆ×ÜÏß¡¢È«¾ÖËø¡¢¾ö²ß¾ºÑ¡¡¢·Ö²¼Ê½»á»°ºÍ¼¯Èº×´Ì¬¹ÜÀíµÈ²Ù×÷ÌṩÁËÒ»ÖÖ¼òµ¥µÄ¿ª·¢·½Ê½¡£
΢·þÎñÊÇ¿ÉÒÔ¶ÀÁ¢²¿Êð¡¢Ë®Æ½À©Õ¹¡¢¶ÀÁ¢·ÃÎÊ£¨»òÕßÓжÀÁ¢µÄÊý¾Ý¿â£©µÄ·þÎñµ¥Ôª£¬springcloud¾ÍÊÇÕâЩ΢·þÎñµÄ´ó¹Ü¼Ò£¬²ÉÓÃÁË΢·þÎñÕâÖּܹ¹Ö®ºó£¬ÏîÄ¿µÄÊýÁ¿»á·Ç³£¶à£¬springcloud×öΪ´ó¹Ü¼ÒÐèÒª¹ÜÀíºÃÕâЩ΢·þÎñ¡£
Ïà¹ØµÄ×é¼þ°üÀ¨ÈçÏ£º
1¡¢Netflix Eureka£º
·þÎñÖÐÐÄ£¬Ôƶ˷þÎñ·¢ÏÖ£¬Ò»¸ö»ùÓÚ REST µÄ·þÎñ£¬ÓÃÓÚ¶¨Î»·þÎñ£¬ÒÔʵÏÖÔÆ¶ËÖмä²ã·þÎñ·¢Ïֺ͹ÊÕÏ×ªÒÆ
2¡¢Netflix Hystrix£º
ÈÛ¶ÏÆ÷£¬ÈÝ´í¹ÜÀí¹¤¾ß£¬Ö¼ÔÚͨ¹ýÈÛ¶Ï»úÖÆ¿ØÖÆ·þÎñºÍµÚÈý·½¿âµÄ½Úµã,´Ó¶ø¶ÔÑӳٺ͹ÊÕÏÌṩ¸üÇ¿´óµÄÈÝ´íÄÜÁ¦¡£


3¡¢Netflix Zuul£º
ÊÇÔÚÔÆÆ½Ì¨ÉÏÌṩ¶¯Ì¬Â·ÓÉ,¼à¿Ø,µ¯ÐÔ,°²È«µÈ±ßÔµ·þÎñµÄ¿ò¼Ü¡£Zuul Ï൱ÓÚÊÇÉ豸ºÍ Netflix
Á÷Ó¦ÓÃµÄ Web ÍøÕ¾ºó¶ËËùÓÐÇëÇóµÄǰÃÅ£¬¾ßÓÐÀ¹½ØºÍ·Óɹ¦ÄÜ¡£

4¡¢Netflix Archaius£º
ÅäÖùÜÀíAPI£¬°üº¬Ò»ÏµÁÐÅäÖùÜÀíAPI£¬Ìṩ¶¯Ì¬ÀàÐÍ»¯ÊôÐÔ¡¢Ḭ̈߳²È«ÅäÖòÙ×÷¡¢ÂÖѯ¿ò¼Ü¡¢»Øµ÷»úÖÆµÈ¹¦ÄÜ¡£¿ÉÒÔʵÏÖ¶¯Ì¬»ñÈ¡ÅäÖã¬ÔÀíÊÇÿ¸ô60s£¨Ä¬ÈÏ£¬¿ÉÅäÖã©´ÓÅäÖÃÔ´¶Áȡһ´ÎÄÚÈÝ£¬ÕâÑùÐÞ¸ÄÁËÅäÖÃÎļþºó²»ÐèÒªÖØÆô·þÎñ¾Í¿ÉÒÔʹÐ޸ĺóµÄÄÚÈÝÉúЧ£¬Ç°ÌáʹÓÃarchaiusµÄAPIÀ´¶ÁÈ¡¡£
5¡¢Spring Cloud Config£º
Ë׳ƵÄÅäÖÃÖÐÐÄ£¬ÅäÖùÜÀí¹¤¾ß°ü£¬ÈÃÄã¿ÉÒÔ°ÑÅäÖ÷ŵ½Ô¶³Ì·þÎñÆ÷£¬¼¯Öл¯¹ÜÀí¼¯ÈºÅäÖã¬Ä¿Ç°Ö§³Ö±¾µØ´æ´¢¡¢GitÒÔ¼°Subversion¡£

6¡¢Spring Cloud Bus£º
ʼþ¡¢ÏûÏ¢×ÜÏߣ¬ÓÃÓÚÔÚ¼¯Èº£¨ÀýÈ磬ÅäÖñ仯ʼþ£©Öд«²¥×´Ì¬±ä»¯£¬¿ÉÓëSpring Cloud ConfigÁªºÏʵÏÖÈȲ¿Êð¡£

7¡¢Spring Cloud Sleuth£º
ÈÕÖ¾ÊÕ¼¯¹¤¾ß°ü£¬·â×°ÁËDapperºÍlog-based×·×ÙÒÔ¼°ZipkinºÍHTrace²Ù×÷£¬ÎªSpringCloudÓ¦ÓÃʵÏÖÁËÒ»ÖÖ·Ö²¼Ê½×·×Ù½â¾ö·½°¸¡£
8¡¢Spring Cloud Task£º
Ö÷Òª½â¾ö¶ÌÃü΢·þÎñµÄÈÎÎñ¹ÜÀí£¬ÈÎÎñµ÷¶ÈµÄ¹¤×÷£¬±ÈÈç˵ijЩ¶¨Ê±ÈÎÎñÍíÉϾÍÅÜÒ»´Î£¬»òÕßijÏîÊý¾Ý·ÖÎöÁÙʱ¾ÍÅܼ¸´Î¡£
ËÄ¡¢Êý¾Ý²ã
mongodb£º´æ´¢·Ç½á¹¹»¯¡¢¹ØÁªÐÔÈõµÄÒµÎñÊý¾Ý¡£È磬¿ØÖÆÆ÷Ï·¢µÄÖ¸ÁîÊý¾Ý£¬¼à²âÉ豸ÊÕ¼¯µÄ´«¸ÐÆ÷Êý¾Ý£¬
mysql£º´æ´¢ÊÂÎñÐÔÊý¾Ý£¬ÒÔ¼°¹ØÁªÐÔ½«Ç¿µÄÊý¾Ý¡£È磬¶©µ¥¡¢×ʽ𡢽»Ò×Êý¾Ý£»
HDSF£º´æ´¢¼à¿ØÉ豸ÉÏ´«µÄͼƬºÍÊÓÆµ£¬ÒÔ¼°±¨±íÎļþ£»
ElasticSearch£ºÊµÏÖELK£¬´æ´¢ÈÕÖ¾Êý¾Ý£»
ÆäËû£º
1¡¢ÈÏ֤ϵͳ£º
²ÉÓÃË«tokenµÄ·½Ê½Íê³Éjwt¡£ÆäÖÐaccessToken ÓÃÓÚÓû§Éí·ÝÈÏÖ¤¡£refreshTokenÓÃÓÚµ±accessTokenÊ§Ð§Ê±ÖØÐÂÉú³É¡£
Óû§µÇ¼£º

tokenÈÏÖ¤·ÃÎÊ£¨accessTokenÓÐЧ£©

tokenÈÏÖ¤·ÃÎÊ£¨accessTokenʧЧ£¬refreshTokenÓÐЧ£©£º

accessTokenºÍrefreshToken ¶¼Ê§Ð§

2¡¢ÈÕ־ϵͳ£º
ÈÕÖ¾¼¯Öл¯¹ÜÀí£¬²ÉÓÃELK½â¾ö·½°¸¡£

Elasticsearch£ºÊǸö¿ªÔ´·Ö²¼Ê½ËÑË÷ÒýÇæ£¬ÌṩËѼ¯¡¢·ÖÎö¡¢´æ´¢Êý¾ÝÈý´ó¹¦ÄÜ¡£ËüµÄÌØµãÓУº·Ö²¼Ê½£¬ÁãÅäÖã¬×Ô¶¯·¢ÏÖ£¬Ë÷Òý×Ô¶¯·ÖƬ£¬Ë÷Òý¸±±¾»úÖÆ£¬restful·ç¸ñ½Ó¿Ú£¬¶àÊý¾ÝÔ´£¬×Ô¶¯ËÑË÷¸ºÔصȡ£
Logstash £ºÖ÷ÒªÊÇÓÃÀ´ÈÕÖ¾µÄËѼ¯¡¢·ÖÎö¡¢¹ýÂËÈÕÖ¾µÄ¹¤¾ß£¬Ö§³Ö´óÁ¿µÄÊý¾Ý»ñÈ¡·½Ê½¡£Ò»°ã¹¤×÷·½Ê½Îªc/s¼Ü¹¹£¬client¶Ë°²×°ÔÚÐèÒªÊÕ¼¯ÈÕÖ¾µÄÖ÷»úÉÏ£¬server¶Ë¸ºÔð½«ÊÕµ½µÄ¸÷½ÚµãÈÕÖ¾½øÐйýÂË¡¢Ð޸ĵȲÙ×÷ÔÚÒ»²¢·¢ÍùelasticsearchÉÏÈ¥¡£
Kibana £ºÒ²ÊÇÒ»¸ö¿ªÔ´ºÍÃâ·ÑµÄ¹¤¾ß£¬Kibana¿ÉÒÔΪ Logstash ºÍ ElasticSearch
ÌṩµÄÈÕÖ¾·ÖÎöÓÑºÃµÄ Web ½çÃæ£¬¿ÉÒÔ°ïÖú»ã×Ü¡¢·ÖÎöºÍËÑË÷ÖØÒªÊý¾ÝÈÕÖ¾¡£
3¡¢»á»°ÖÎÀí
´Ë´¦µÄ»á»°ÊÇÖ¸Netty »á»°¹ÜÀí¡£ÊµÏÖChannel×Ô¶¨Òå»á»°¹ÜÀí£¬Èç»á»°¼à¿Ø¡¢»á»°³¬Ê±¡¢»á»°Öؽ¨µÈ¡£
4¡¢DNS½Ù³Ö´¦Àí
ÒÆ¶¯¶Ë²úÆ·ÔÚʵ¼ÊÓû§»·¾³Ï»áÃæÁÙ DNS ½Ù³Ö¡¢ºÄʱ²¨¶¯µÈÎÊÌ⣬ÕâЩ DNS »·½ÚµÄ²»Îȶ¨ÒòËØ£¬µ¼ÖºóÐøÍøÂçÇëÇó±»½Ù³Ö»òÊÇÖ±½Óʧ°Ü,
¶Ô²úÆ·µÄÓû§ÌåÑé²úÉú²»ºÃµÄÓ°Ïì¡£
DNS ÓÐ LocalDNS VS HTTP DNSÖ®·Ö
ÔÚ³¤ÆÚµÄʵ¼ùÖУ¬»¥ÁªÍø¹«Ë¾·¢ÏÖ LocalDNS »á´æÔÚÈçϼ¸¸öÎÊÌ⣺
ÓòÃû»º´æ: ÔËÓªÉÌ DNS »º´æÓòÃû½âÎö½á¹û£¬½«Óû§µ¼ÏòÍøÄÚ»º´æ·þÎñÆ÷;
½âÎöת·¢ & ³ö¿Ú NAT: ÔËÓªÉÌ DNS ת·¢²éѯÇëÇó»òÊdzö¿Ú NAT µ¼ÖÂÁ÷Á¿µ÷¶È²ßÂÔʧЧ;
ΪÁ˽â¾ö LocalDNS µÄÕâЩÎÊÌ⣬ҵÄÚÒ²´ßÉúÁË HTTP DNS µÄ¸ÅÄËüµÄ»ù±¾ÔÀíÈçÏÂ:
Ô±¾Óû§½øÐÐ DNS ½âÎöÊÇÏòÔËÓªÉÌµÄ DNS ·þÎñÆ÷·¢Æð UDP ±¨ÎĽøÐвéѯ£¬¶øÔÚ HTTP
DNS Ï£¬ÎÒÃÇÐÞ¸ÄΪÓû§´øÉÏ´ý²éѯµÄÓòÃûºÍ±¾»ú IP µØÖ·Ö±½ÓÏò HTTP WEB ·þÎñÆ÷·¢Æð HTTP
ÇëÇó£¬Õâ¸ö HTTP WEB ½«·µ»ØÓòÃû½âÎöºóµÄ IP µØÖ·¡£
±ÈÈç DNSPod µÄʵÏÖÔÀíÈçÏÂ:

Ïà±È LocalDNS, HTTP DNS »á¾ß±¸ÈçÏÂÓÅÊÆ:
¸ùÖÎÓòÃû½âÎöÒì³£: ÈÆ¹ýÔËÓªÉÌµÄ DNS£¬Ïò¾ß±¸ DNS ½âÎö¹¦ÄÜµÄ HTTP WEB ·þÎñÆ÷·¢Æð²éѯ;
µ÷¶È¾«×¼: HTTP DNS Äܹ»Ö±½Ó»ñÈ¡µ½Óû§µÄ IP µØÖ·£¬´Ó¶øÊµÏÖ׼ȷµ¼Á÷;
À©Õ¹ÐÔÇ¿: ±¾Éí»ùÓÚ HTTP ÐÒ飬¿ÉÒÔʵÏÖ¸üÇ¿´óµÄ¹¦ÄÜÀ©Õ¹;
|