分布式系统如何设计?如何设计高效的分布式架构?

什么是分布式系统?

业内最常见的是RPC服务,其中互联网公司用的最多的就是dubbo服务 + spring cloude.

为什么要设计分布式服务?

当系统流量越来越大的时候,比如日访问量10万。如果你把所有服务糅合在一个web服务。一旦一个改动,那就有可能导致整个系统奔溃,这样的话,你的代码稳定性太差了。

为了代码架构清晰合理,可维护。于是我们采用了 web+ dubbo (各个业务模块分离)

典型的架构 appserver(对外的web接口服务)

然后有一个个dubbo服务提供模块的接口服务。可插拔,可复用。

例如模块化(会员模块;订单模块;活动模块;app配置模块;聊天服务模块;数据仓库模块;商品模块;支付模块;优惠券模块)等等。拆分模块的目的,是为了业务的更加明确,代码可维护。如果一堆代码揉在一起,后期维护就头疼吧

分布式服务的好处?

好处1:假设1.1 日活用户10万。 然后1.5搞活动,用户数明显上来了,那个可以加机器,比如(会员模块dubbo)我们在新增2个启动的服务。这样减少之前的x太服务器压力,由zookeeper实现动态分配。

好处2:不同的模块,可以分成不同的开发小组。责任明确。可以明确到人维护。

如何设计分布式服务?

经典的架构方式 spring boot +dubbo +zookeeper+ slb + oss + mysql +redis

扫描二维码关注公众号,回复: 13651055 查看本文章

一个个具体业务模块拆分,然后由一个个dubbo服务。实现可插拔。

对外交互层,只是单纯的api接口。

注:分布式domain的主键id不能是自增的,此处有坑。 建议可以用redis实现id序列化服务。 实现贼简单。

如果快速的了解分布式呢?很简单,去大公司,至少日活在2万以上的项目,流量大的,都会选择去架构分布式服务。

猜你喜欢

转载自blog.csdn.net/q1457797371/article/details/104863080