系统架构组件

 

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

 

 

 

统一配置中心

 

 

 

 

 

 

 

 

服务注册与发现

 

客户端发现

 

 

 

服务端发现

 

 

 

 

 

安全控制

 

 

 

 

数据追踪

 

 

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

 

 

posted @ 2018-08-22 15:10  panchanggui  阅读(863)  评论(0编辑  收藏  举报