Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚ Spring Cloud ÍêÕûµÄ΢·þÎñ¼Ü¹¹ÊµÕ½
 
  7303  次浏览      27
 2018-9-21
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚCSDN£¬±¾ÎĽ²½âµÄÊÇÒ»¸ö»ùÓÚ Spring Boot¡¢Spring Cloud¡¢Spring Oauth2 ºÍ Spring Cloud Netflix µÈ¿ò¼Ü¹¹½¨µÄ΢·þÎñÏîÄ¿¡£

¼¼ÊõÕ»

Spring boot - ΢·þÎñµÄÈëÃż¶Î¢¿ò¼Ü£¬ÓÃÀ´¼ò»¯ Spring Ó¦Óõijõʼ´î½¨ÒÔ¼°¿ª·¢¹ý³Ì¡£

Eureka - ÔÆ¶Ë·þÎñ·¢ÏÖ£¬Ò»¸ö»ùÓÚ REST µÄ·þÎñ£¬ÓÃÓÚ¶¨Î»·þÎñ£¬ÒÔʵÏÖÔÆ¶ËÖмä²ã·þÎñ·¢Ïֺ͹ÊÕÏ×ªÒÆ¡£

Spring Cloud Config - ÅäÖùÜÀí¹¤¾ß°ü£¬ÈÃÄã¿ÉÒÔ°ÑÅäÖ÷ŵ½Ô¶³Ì·þÎñÆ÷£¬¼¯Öл¯¹ÜÀí¼¯ÈºÅäÖã¬Ä¿Ç°Ö§³Ö±¾µØ´æ´¢¡¢Git ÒÔ¼° Subversion¡£

Hystrix - ÈÛ¶ÏÆ÷£¬ÈÝ´í¹ÜÀí¹¤¾ß£¬Ö¼ÔÚͨ¹ýÈÛ¶Ï»úÖÆ¿ØÖÆ·þÎñºÍµÚÈý·½¿âµÄ½Úµã,´Ó¶ø¶ÔÑӳٺ͹ÊÕÏÌṩ¸üÇ¿´óµÄÈÝ´íÄÜÁ¦¡£

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

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

Spring Cloud Sleuth - ÈÕÖ¾ÊÕ¼¯¹¤¾ß°ü£¬·â×°ÁË Dapper ºÍ log-based ×·×ÙÒÔ¼° Zipkin ºÍ HTrace ²Ù×÷£¬Îª SpringCloud Ó¦ÓÃʵÏÖÁËÒ»ÖÖ·Ö²¼Ê½×·×Ù½â¾ö·½°¸¡£

Ribbon - Ìá¹©ÔÆ¶Ë¸ºÔؾùºâ£¬ÓжàÖÖ¸ºÔؾùºâ²ßÂԿɹ©Ñ¡Ôñ£¬¿ÉÅäºÏ·þÎñ·¢ÏֺͶÏ·Æ÷ʹÓá£

Turbine - Turbine ÊǾۺϷþÎñÆ÷·¢ËÍʼþÁ÷Êý¾ÝµÄÒ»¸ö¹¤¾ß£¬ÓÃÀ´¼à¿Ø¼¯ÈºÏ hystrix µÄ metrics Çé¿ö¡£

Spring Cloud Stream - Spring Êý¾ÝÁ÷²Ù×÷¿ª·¢°ü£¬·â×°ÁËÓë Redis¡¢Rabbit¡¢Kafka µÈ·¢ËͽÓÊÕÏûÏ¢¡£

Feign - Feign ÊÇÒ»ÖÖÉùÃ÷ʽ¡¢Ä£°å»¯µÄ HTTP ¿Í»§¶Ë¡£

Spring Cloud OAuth2 - »ùÓÚ Spring Security ºÍ OAuth2 µÄ°²È«¹¤¾ß°ü£¬ÎªÄãµÄÓ¦ÓóÌÐòÌí¼Ó°²È«¿ØÖÆ¡£

Ó¦Óüܹ¹

¸ÃÏîÄ¿°üº¬ 8 ¸ö·þÎñ

registry - ·þÎñ×¢²áÓë·¢ÏÖ

config - ÍⲿÅäÖÃ

monitor - ¼à¿Ø

zipkin - ·Ö²¼Ê½¸ú×Ù

gateway - ´úÀíËùÓÐ΢·þÎñµÄ½Ó¿ÚÍø¹Ø

auth-service - OAuth2 ÈÏÖ¤·þÎñ

svca-service - ÒµÎñ·þÎñA

svcb-service - ÒµÎñ·þÎñB

Ìåϵ¼Ü¹¹

Ó¦ÓÃ×é¼þ

Æô¶¯ÏîÄ¿

ʹÓà Docker ¿ìËÙÆô¶¯

ÅäÖÃ Docker »·¾³

mvn clean package ´ò°üÏîÄ¿¼° Docker ¾µÏñ

ÔÚÏîÄ¿¸ùĿ¼ÏÂÖ´ÐÐ docker-compose up -d Æô¶¯ËùÓÐÏîÄ¿

±¾µØÊÖ¶¯Æô¶¯

ÅäÖÃ rabbitmq

ÐÞ¸Ä hosts ½«Ö÷»úÃûÖ¸Ïòµ½±¾µØ

127.0.0.1 registry config monitor rabbitmq auth-service

»òÕßÐ޸ĸ÷·þÎñÅäÖÃÎļþÖеÄÏàÓ¦Ö÷»úÃûΪ±¾µØ ip

Æô¶¯ registry¡¢config¡¢monitor¡¢zipkin

Æô¶¯ gateway¡¢auth-service¡¢svca-service¡¢svcb-service

ÏîĿԤÀÀ

×¢²áÖÐÐÄ

·ÃÎÊ http://localhost:8761/ ĬÈÏÕ˺Šuser£¬ÃÜÂë password

¼à¿Ø

·ÃÎÊ http://localhost:8040/ ĬÈÏÕ˺Šadmin£¬ÃÜÂë admin

¿ØÖÆÃæ°å

Ó¦ÓÃ×¢²áÀúÊ·

Turbine HystrixÃæ°å

Ó¦ÓÃÐÅÏ¢¡¢½¡¿µ×´¿ö¡¢À¬»ø»ØÊÕµÈÏêÇé

¼ÆÊýÆ÷

²é¿´ºÍÐ޸Ļ·¾³±äÁ¿

¹ÜÀí Logback ÈÕÖ¾¼¶±ð

²é¿´²¢Ê¹Óà JMX

²é¿´Ïß³Ì

ÈÏÖ¤ÀúÊ·

²é¿´ Http ÇëÇó¹ì¼£

Hystrix Ãæ°å

Á´Â·¸ú×Ù

·ÃÎÊ http://localhost:9411/ ĬÈÏÕ˺Šadmin£¬ÃÜÂë admin

¿ØÖÆÃæ°å

Á´Â·¸ú×ÙÃ÷ϸ

·þÎñÒÀÀµ¹ØÏµ

RabbitMQ ¼à¿Ø

Docker Æô¶¯·ÃÎÊ http://localhost:15673/ ĬÈÏÕ˺Šguest£¬ÃÜÂë guest£¨±¾µØ rabbit ¹ÜÀíϵͳĬÈ϶˿Ú15672£©

½Ó¿Ú²âÊÔ

1.»ñÈ¡ Token

curl -X POST -vu client:secret http://localhost:8060/
uaa/oauth/token -H "Accept: application/json" -d "password=password&username=anil&grant_type=password
&scope=read%20write"

·µ»ØÈçϸñʽÊý¾Ý£º

{
"access_token": "eac56504-c4f0-4706-b72e-3dc3acdf45e9",
"token_type": "bearer",
"refresh_token": "da1007dc-683c-4309-965d-370b15aa4aeb",
"expires_in": 3599,
"scope": "read write"
}

2.ʹÓà access token ·ÃÎÊ service a ½Ó¿Ú

curl -i -H "Authorization: Bearer eac56504-c4f0-4706-b72e-3dc3acdf45e9" http://localhost:8060/svca

·µ»ØÈçÏÂÊý¾Ý£º

svca-service (172.18.0.8:8080)===>name:zhangxd
svcb-service (172.18.0.2:8070)===>Say Hello

3.ʹÓà access token ·ÃÎÊ service b ½Ó¿Ú

curl -i -H "Authorization: Bearer eac56504-c4f0-4706-b72e-3dc3acdf45e9" http://localhost:8060/svcb

·µ»ØÈçÏÂÊý¾Ý£º

svcb-service (172.18.0.2:8070)===>Say Hello

4.ʹÓà refresh token ˢРtoken

curl -X POST -vu client:secret http://localhost:8060/uaa/oauth/token -H "Accept: application/json" -d "grant_type=refresh_token&refresh_token=da1007dc-683c-4309-965d-370b15aa4aeb"

·µ»Ø¸üкóµÄ Token£º

{
"access_token": "63ff57ce-f140-482e-ba7e-b6f29df35c88",
"token_type": "bearer",
"refresh_token": "da1007dc-683c-4309-965d-370b15aa4aeb",
"expires_in": 3599,
"scope": "read write"
}

5.Ë¢ÐÂÅäÖÃ

curl -X POST -vu user:password http://localhost:8888/bus/refresh
   
7303 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù