关于网站架构方面的一些简单认识

网站架构的发展

网站架构的发展也是伴随着访问量的增加、代码的优化(可维护性)、团队协作开发以及部署的方便性而逐渐演化的。网站的访问量不断增加,网站需要做到高性能、高并发、高可用(三高3H)来适应这种变化;随着网站功能的逐渐扩展,代码的复杂度也随即增加,为了能够更好地维护这些代码,我们需要对代码进行规划分层,减少代码的冗余;大型网站一般都是由好几个团队协同开发的,团队与团队之间尽量做到不相互影响(前后端分离也是这个目的),要做到高内聚低耦合。于是我们需要对网站的架构进行设计,以适应不断变化的需求,尽可能达到三高的目标。
单体架构一般指的是所有的功能都放在一个应用服务里;分布式架构则是功能拆分成不同的服务。
架构(上下一一对应)

all in one ORM
MVC架构
RPC架构
SOA架构
微服务架构
单一应用架构
垂直应用架构
分布式服务架构
流量计算架构
微服务架构

前两种架构都属于单体架构,项目应用以及数据库基本都部署到一台服务器或虚拟机上;后三种则都属于分布式架构(虽然也可以部署到一台服务器上,但这样划分出服务来就没有意义了)。
其中MVC架构到RPC架构的演化过程中又衍生出项目与数据库分离部署,集群等技术来满足需求,当然在后面的架构中依旧使用这些技术。
SOA架构又存在两种方案,一种方案是不使用RPC(远程过程调用协议,也可成为一种架构),叫webservice,但存在缺陷未被采用;另一种方案是嵌套地利用了RPC,并且引入了服务治理方法ESB(企业服务总线)。可以使用的框架有阿里的dubbo。
最后的微服务架构跟SOA架构又有什么区别呢,它是SOA架构的进一步发展,它是将功能分散到各个离散的服务中然后实现对方案的解耦。服务更原子,自治更小,然后高密度部署服务。其服务的治理方法也更轻量级。阿里的dubbo+zookeeper中间件就可以拿来构建简化的微服务架构;还有springcloud这个框架集也可以用来搭建成熟的微服务架构。
当然随着时代的发展,技术的更新,未来还会有新的架构出现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值