微服务技术之互联网网站架构演变过程

今天就来讲讲 互联网网站架构演变过程

 传统架构

   传统的ssh架构,分为三层架构,web控制层(Controller层),业务逻辑层(service层),数据库访问层(Dao层)

传统的架构也就是大家俗称的单点应用,就是我们刚开始初学JavaEE技术的时候SSH架构或者SSM架构,业务没有进行拆分,都写在同一个项目工程里面,一般适用于个人或者小团队开发,这样的架构模式,一旦有一个模块导致服务不可用,可能会影响整个项目,导致整个项目瘫痪。

这种项目的结构类似于这种

com.controllr

com.service

com.dao

缺点:耦合度太高,一旦某个模块导致服务不可用,可能会影响到其他模块

分布式架构

分布式架构基于传统架构演变过来的

我们来想一个场景,假如有100个java开发人员,都在同一个项目进行开发,可能会产生什么问题了?

首先肯定会产生代码冲突问题,其二任务不好分配,容易起冲突问题

基于这些问题,就衍生出了分布式架构。

分布式架构基于传统架构演变过来的,将传统的项目以项目模块进行拆分成n多子项目,比如我参与了一个供应商商城项目,我们把这个项目拆分成会员项目,支付项目,商品项目等。

项目表达意思:包含业务逻辑层和视图层。项目包含:前台项目(提供给用户)和后台项目(维护管理)

服务表达意思:只包含业务逻辑层,没有视图层

总结:分布式架构与传统架构区别:项目粒度分的更加细,慢慢开始适用于互联网公司开发,耦合度降低。

SOA架构

SOA也是基于分布式架构演变过来的,SOA架构代表面向服务架构,俗称服务化,可以理解为面向与业务逻辑层,将共同的业务代码进行抽取出来的,提供给其他接口进行调用,服务与服务之间通讯采用rpc远程调用技术。

服务概念:将共同的业务逻辑进行拆分,拆分成独立一个项目进行部署,没有视图层。

服务概念理解为接口。

rpc远程调用技术框架

httpclient,springcloud,dubbo,grpc

核心底层socket技术或者netty实现

rpc是远程调用技术,两个或者多个应用实现远程调用,

WebService底层是采用Http协议+XML(SOAP)

SOA架构特点:底层基于SOAP或者ESB(消息总线)实现,底层使用HTTP或者HTTPS协议+重量级XML数据交换格式进行通讯

SOAP是简单对象协议http+xml混合物

微服务架构产生的原因:

 首先微服务架构基于SOA架构演变过来

SOA架构的缺点

(1)依赖与中心化服务发现机制

(2)因为SOA架构采用SOAP协议(Http+XML),因为XML传输协议比较占用宽带,整个XML报文中有非长大冗余数据,所以在json中以json轻量级方式替代xml报文传输。

(3)SOA架构服务管理非常混乱,缺少服务管理和治理设施不完善。

  微服务架构模式

  微服务架构从SOA架构演变过来,比SOA架构粒度更加精细,让专业的人做专业的事情(更加专注),目的是为了提高效率,每个服务与服务之间互不影响,每个服务必须独立部署(独立数据库,独立redis等),微服务架构更加体现轻量级,采用restful风格提供API,也就是使用Http协议+Json格式进行传输,更加轻巧,更加适用于互联网公司敏捷开发,快速迭代产品。

发布了26 篇原创文章 · 获赞 6 · 访问量 705

猜你喜欢

转载自blog.csdn.net/sdgames/article/details/104131214