分布式架构和垂直架构

Posted campsis-tk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式架构和垂直架构相关的知识,希望对你有一定的参考价值。

垂直架构

特点

  • 不管项目多复杂,有多少个模块,全在一个项目中编写
  • 项目部署在一个web容器上,适合于 访问量小,用户数不多的业务

优点

  • 耦合度比较高
    • 所有功能模板代码都放到了一起,
  • 不利于扩展
    • 写好了, 测试完了,想要加一个模块非常的困难
    • 如果果某个功能出错有问题,所有的功能都需要再重新打包编译,部署效率极低。
    • 上线时, 把项目停掉
  • 不利于团队协作维护
    • 团队协作难度高,如多人使用SVN/git很可能在同一个功能上,多人同时进行了修改,作为一个大而全的项目,可能个人只是需要开发其中一个小的模块的需求,却需要导入整个项目全量的代码。

缺点

  • 结构简单

分布式架构(SOA架构)

SOA(Service-Oriented Architecture)它是一种支持面向服务的架构。(分布式架构)

特点

  • 将传统项目中的一个模块,拆分成一个一个项目

优点

  • 降低模块之间的耦合度
  • 利于扩展
  • 利于维护

缺点

  • 结构复杂
  • 对于小型项目 ,成本比较高

特点

  • 模块的拆分
    • 如果某一个系统访问量比较大时, 可以多部署几台tomcat,
    • 当出现高并发的时候 , 通过nigix负载均衡,进行分配访问
    • 如果今后, 想要再添加 一个模块, 可以直接在写一个项目,弄台新机器,直接上线
  • 业务功能的拆分
    • 除了把对应模块拆成一个系统外, 还可以把我们的三层架构拆成对应的服务,把Controller做为一个系统,Dao和Service做为一个系统
    • 如果调用多了,一台不够用户了, 可以多部署几台
  • 存在的问题
    • 在以前Controller调用Service,通过注入进行调用,注入属于是Spring的
    • 当Controller在一个服务器中, Service在另一台服务器,是没有办法注入的
    • 此时, 可以采用一个技术叫Dubbox,可以实现跨tomcat 注入 远程调用
    • Dubbo是的跨服务器,注入的技术,这么多服务,到底是认认证调用谁,怎么知道的呢
    • 通过zookeeper注册中心,所有的服务都到zookeeper当中注册一下, 注册后.
    • 今后服务之间的调用,就可以通过zookeeper找到对应的服务,通过Dubbo进入注入

以上是关于分布式架构和垂直架构的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo架构学习整理

Dubbo架构学习整理

soa架构-Dubbo架构,框架,技术的使用

单一垂直分布式架构及微服务的优缺点

分布式架构演进

Dubbo入门