1. 程式人生 > >系統架構組件

系統架構組件

統一 boot 監控 跨語言 進一步 consumer 抽象 系統架構 apach

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

統一配置中心

服務註冊與發現

客戶端發現

服務端發現

安全控制

數據追蹤

分布式下的微信和微信第三方

系統架構組件