大型网站架构演化(十)——分布式服务

    随着业务拆分越来越小,存储系统越来越庞大,应用系统的整体复杂度呈指数级增加,部署维护越来越困难。由于所有应用要和所有数据库系统连接,在数万台服务器规模的网站中,这些连接的数目是服务器规模的平方,导致存数据库接资源不足,拒绝服务。

    既然每一个应用系统都需要执行许多相同的业务操作,比如用户管理、商品管理等,那么可以将这些公用的业务提取出来,独立部署。由这些可复用的业务连接数据库,提供共用业务服务,而应用系统只需要管理用户界面,通过分布式服务调用共用业务服务完成具体业务操作,如图。

    大型网站的架构演化到这里,基本上大多数的技术问题都得以解决,诸如跨数据中心的实时数据同步和具体网站业务相关的问题也都可以通过组合改进现有技术架构来解决。

    但事物发展到一定阶段,就会拥有自身的发展冲动,摆脱其初衷,向着使自己更强大的方向发展。既然大型网站架构解决了海量数据的管理和高并发事物的处理,那么就可以把这些解决方案应用到网站自身以外的业务上去。我们看到目前许多大型网站都开始建设云计算平台,将计算作为一种基础资源出售,中小网站不需要再关心技术架构问题,只需要按需付费,就可以使网站随着业务的增长逐渐获得更大的存储空间和更多的计算资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单体架构是一种传统的架构模式,它把整个应用程序作为一个单独的整体来开发、测试和部署。这种架构模式简单易用,但是在应对高并发、高可用性、可扩展性等方面存在一些问题。因此,逐渐演化分布式架构分布式架构是指将一个应用程序割成多个子系统,这些子系统可以在不同的机器或服务器上运行,通过网络进行通信和协作,共同完成应用程序的功能。它可以提高应用程序的可伸缩性、可靠性和性能。 分布式架构演化历程可以大致为以下几个阶段: 1.垂直拆阶段:在单体架构的基础上,将应用程序按照业务功能进行垂直拆,每个子系统都独立开发、测试和部署。这种方式可以提高开发效率和系统可维护性,但是单个子系统的性能和可扩展性仍然存在问题。 2.水平拆阶段:在垂直拆的基础上,将每个子系统按照业务流程进行水平拆,将数据和业务逻辑散到不同的节点上,通过负载均衡和分布式计算来提高系统的性能和可扩展性。 3.微服务架构阶段:在水平拆的基础上,将每个子系统进一步拆成更小的服务单元,每个服务单元负责一个特定的业务功能,通过轻量级通信协议和RESTful API来实现服务之间的通信和协作。微服务架构可以提高系统的故障隔离性、可维护性和可扩展性。 4.云原生架构阶段:在微服务架构的基础上,采用容器化技术和云计算平台,实现应用程序的快速部署、弹性伸缩和自动化运维。云原生架构可以进一步提高系统的可靠性、可用性和可管理性。 总的来说,分布式架构演化历程是不断从单体架构中抽象出更小的、更独立的服务单元,实现应用程序的更高性能、更好的可维护性和更高的可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值