1、什么是微服務?
微服務是近幾年流行的一種架構思想。它提倡將單一的應用程序划分成一組小的服務,每個服務運行在獨立的自己的進程內,服務之間相互協調,互相配置,為用戶提供最終價值。服務之間采用輕量級的通信機制互相溝通,每個服務都圍繞着具體的業務進行構建,並且能夠被獨立的部署到生產環境中,另外,應盡量避免統一的,集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言,工具對其進行構建,可以有一個非常輕量級的集中式管理來協調這些服務,可以使用不同語言來編寫服務,也可以使用不同的數據存儲;
從技術維度來理解:
微服務化就是將傳統的一站式應用,根據業務拆分成一個個小的服務,徹底的解耦,每一個微服務提供單個業務功能的服務,一個服務做一件事情,從技術角度看就是一個小而獨立的處理過程,類似進程的概念,能夠自行單獨啟動或銷毀,擁有自己的獨立數據庫。
2、微服務之間是如何獨立通訊的?
同步:
REST HTTP協議
RPC HTTP協議
異步:
消息中間件(常見的消息中間件有Kafka、ActiveMQ、RabbitMQ、RocketMQ,常見的協議有AMQP、MQTTP、STOMP、XMPP。)
