系統架構組件
RPC
Dubbo
Dubbo是Alibaba開源的分布式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各個層之間解耦合(或者最大限度地松耦合)。從服務模型的角度來看,Dubbo采用的是一種非常簡單的模型,要麽是提供方提供服務,要麽是消費方消費服務,所以基於這一點可以抽象出服務提供方(Provider)和服務消費方(Consumer)兩個角色。關於註冊中心、協議支持、服務監控等內容,詳見後面描述。
Motan
Motan是新浪微博開源的一個Java 框架。它誕生的比較晚,起於2013年,2016年5月開源。Motan 在微博平臺中已經廣泛應用,每天為數百個服務完成近千億次的調用。
rpcx
rpcx是Go語言生態圈的Dubbo, 比Dubbo更輕量,實現了Dubbo的許多特性,借助於Go語言優秀的並發特性和簡潔語法,可以使用較少的代碼實現分布式的RPC服務。
gRPC
gRPC是Google開發的高性能、通用的開源RPC框架,其由Google主要面向移動應用開發並基於HTTP/2協議標準而設計,基於ProtoBuf(Protocol Buffers)序列化協議開發,且支持眾多開發語言。本身它不是分布式的,所以要實現上面的框架的功能需要進一步的開發。
thrift
thrift是Apache的一個跨語言的高性能的服務框架,也得到了廣泛的應用。
消息隊列
ZeroMQ
ZeroMQ是以庫的形式存在,由應用程序加載、運行即可。但是ZeroMQ僅提供非持久性的消息隊列。
ActiveMQ
ActiveMQ需要目標機器上已經安裝了Java。
RabbitMQ
RabbitMQ需要Erlang環境。
MSMQ
微軟產品。
Kafka
MetaMQ
RocketMQ
zbus
阿裏雲商業MQ
redismq
緩存
ehcache
redis
分布式二級緩存ehredis
J2Cache
https://gitee.com/ld/J2Cache
分布式Session
使用Redis存儲用戶狀態數據。
分布式鎖
任務調度
定時任務
調用監控
metrics
限流、降級、熔斷機制
hystrix
統一配置中心
服務註冊與發現
客戶端發現
服務端發現
安全控制
數據追蹤
分布式下的微信和微信第三方
系統架構組件