一、目前的主流接口架構
1、restful架構:基于http協定,預設json傳輸資料,針對中小型企業
2、soap架構:基于webservice協定,預設xml傳輸資料,針對中小型企業
3、rpc架構:基于dobbo協定和thrif協定,針對特大型企業
二、微服務架構
是一種架構概念,旨在通過将功能分解到各個離散的服務中以實作對解決方案的解耦。
通過拆分,封裝一些公共服務,實作靈活開發和部署
三、常用的中間件
1、MQ:消息隊列,是基礎資料結構中“先進先出”的一種資料結構。一般用來解決應用解耦,異步消息,流量削峰等問題,實作高性能,高可用,可伸縮和最終一緻性架構.
典型的MQ中間件:RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka等。
MQ的使用場景:解耦、異步、削峰
解耦:一個業務需要多個子產品共同實作,或者一條消息有多個系統需要對應處理,隻需要主業務完成以後,發送一條MQ,其餘子產品消費MQ消息,即可實作業務,降低子產品之間的耦合。
異步:主業務執行結束後從屬業務通過MQ,異步執行,減低業務的響應時間,提高使用者體驗。
削峰:高并發情況下,業務異步處理,提供高峰期業務處理能力,避免系統癱瘓
2、redis(C語言開發的,用來儲存資料記憶體的緩存資料庫,處理資料非常快)
redis是一個key-value存儲系統。和Memcached類似,它支援存儲的value類型相對更多,包括string(字元串)、list(連結清單)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)
Redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。
四、微服務架構下的測試
1、單元測試:針對代碼級别進行測試
2、內建測試:測試子系統本身各個子產品之間是否正常
3、元件測試:基本dubbo、thift協定的接口測試,微服務元件
4、契約測試:消費者驅動測試,測試主系統和子系統的關聯測試
5、功能測試