码迷,mamicode.com
首页 > 其他好文 > 详细

分布式系统软硬三件套

时间:2016-05-19 23:08:12      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

基础设施三件套

DB当然是第一重要,但是因为所有开发都知道,所以就不罗列了。

RPC中间件。对于分布式系统而言,一个好的RPC中间件是非常重要的,这直接决定了整个系统的扩展性、灵活性。一个好的RPC中间件至少应该满足以下条件:

1、支持在RPC本地根据规则,比如说功能号进行路由,路由的目标可以是本地也可以是远程;

2、基于长连接,一般为TCP

3、再不济,性能也不能低于HTTP

4、支持自动负载均衡,连接恢复;

5、支持服务注册中心服务自动发布,服务注册信息自动拉取;

6RPC客户端支持API依赖注入,RPC服务端支持根据注解发布和路径;

7、绝大部分情况而言,应该是不需要跨语言的,根据特定语言去做说不定更合理;

目前熟悉的还是公司的T2。其他的都有短板,需要自行扩展。

 

分布式缓存/DB。分布式缓存最常用的场景是分布式session,客户信息、产品信息等相对而言比较静态的数据。当然,它远远不止用于这里。

1、支持集群;

2TPS 50000以上;

3、支持常规以外的list/hash结构;

Redis 3之后就比couchbase要更加合适了。

 

消息中间件。消息中间件是重要性等同于分布式缓存的中间件。对于大型的分布式系统而言,通常关键的业务场景在同步执行时会存在着致命的瓶颈。一个好的消息中间件应该至少满足下列条件:

1、支持集群;

2、支持持久化;

3TPS 5000以上;

4、支持可信发布、订阅;

5、有管理API可监控队列,队列中内容等;

6、支持广播、点对点、主题;

rabbitmq是比较合适的。

分布式系统软硬三件套

标签:

原文地址:http://www.cnblogs.com/zhjh256/p/5510431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!