关于分布式架构问题请教

keeliang 发布于 2016/04/01 18:54
阅读 241
收藏 1

最近想了解分布式系统, 目前好像挺流行聊这个, 所以我有些问题想不明白, 想请教各位大侠.

按我理解, 分布式系统, 是由原来的单个系统, 根据功能模块分开单独部署在一台/多台服务器, 从而将压力分开, 可以快速响应, 不知我理解有没有问题.

例如目前使用的MVC框架, 怎么样做成分布式呢? 一个电子商务, 有PC, 移动web, app等这些, app基本应该是依赖api, 而api与pc应该使用相同的数据访问层(service), 如果将api与pc分开, 那service是不是要单独出来为这两个服务呢? 

那与service层之间是如何通信呢? http(web api)方式还是有其他方法呢? 


加载中
0
若谷
若谷
你说的这个和分布式还没啥关系,无外乎是做一些负载均衡罢了,系统支持scale out。service之间可以靠rpc通信,当然rpc的实现就有多种方式了,你要说是http也行,不过很少见内部系统之间的rpc用http方式处理的。每个server之间尽量做成无状态的,这样想怎么扩展就怎么扩展。
若谷
若谷
回复 @keeliang : google一下,分布式的东西很多啊,典型的可以看看gfs。这是比较早的。rpc的常用方式直接组装协议包,比如利用pb等。
keeliang
keeliang
多谢, 能介绍一个是怎么样做分布式吗? rpc除了http还有哪些呢, 能举个例子吗?
0
精通吹水
精通吹水

分布式系统是非常昂贵的。不说软件的钱,主要是人力费用。

分布式比较流行的方案为:

静态资源:CDN

计算层:负载均衡。Dubbo比较流行。

存储层:分表分库。MyCat,Redis。注意事务一致性。


keeliang
keeliang
谢谢
0
Dreyer
Dreyer
举个栗子吧,目前公司的项目都是前后端分离进行开发,后端提供统一的API供web、app调用;每个功能模块拆分成单独的服务进行部署,比如说用户服务、支付服务、交易服务等...每个服务都部署两个节点或以上,从而保证服务的高可用性,服务之间的协调通信是通过Dubbo服务治理框架进行统一管理
Dreyer
Dreyer
对 dubbo就是一个rpc框架
keeliang
keeliang
那服务之间是用什么通信呢?RPC?
返回顶部
顶部