对于架构,永远一句话:没有最好只有更合适。

  • 微服务演变
  • 传统架构
  • 传统的SSH/SSM架构,分为三层架构 web控制层、业务逻辑层、数据库访问层。
    传统架构也就是单点应用,业务没有进行拆分,都写同一个项目工程里面,一般是适合于个人或者是小团队开发。部署也同样是一个war包进行。
    这种架构模式,一旦有一个模块导致服务不可用,可能会影响整个项目。
  • 垂直架构
  • 分布式架构基于传统架构演变过来,将传统的单体项目以项目模块进行拆分,拆分为会员项目、订单项目、支付项目、优惠券项目等,从而降低耦合度,这种项目架构模式慢慢开始适合于互联网公司规模人数开发
  • SOA面向服务架构
    面向于业务逻辑层进行开发,分布式架构的项目中的相同的部分抽取出来,做成公共的服务(接口)进行调用,而服务之间调用采用的rpc远程调用技术。
    这种调用有以下特点:
    通常使用XML方式实现通讯,在高并发情况下XML比较冗余会带来极大的影响,所以最后微服务架构中采用JSON替代xml方式;
    SOA架构的底层实现通过WebService和ESB(xml与中间件混合物),Web Service技术是SOA服务化的一种实现方式,WebService底层采用soap协议进行通讯,soap协议就是Http或者是Https通道传输XML数据实现的协议。
  • 微服务架构
    微服务架构基于SOA架构演变过来的
    在传统的WebService架构中有如下问题:
    依赖中心化服务发现机制
    使用Soap通讯协议,通常使用XML格式来序列化通讯数据,xml格式非常喜欢重,比较占宽带传输。
    服务化管理和治理设施不完善
    微服务架是从SOA架构演变过来,比SOA架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,互不影响,微服务架构更加体现轻巧、轻量级,是适合于互联网公司敏捷开发