软件架构 - SOA架构的认识分析

SOA基础理解

  SOA即面向服务架构(service-oriented architecture),也透露着“分层思想”,其中“服务”为可“分层的服务”,上层服务使用下层单元提供的服务 -  类似于“计算机网络的分层架构”。参考其他的文章,将“服务”分为:应用服务(原子服务),组合服务,业务服务,无论怎样分类,都要明确“服务的单一性”,即每一个服务单元只提供一种服务或者说只有一种功能。对于上层服务使用下层提供的服务,便要求对服务的使用的就要标准化,就有了:合同,地址,邦定,简单讲就是定义标准的接口(参数,返回值),怎么访问服务,在哪访问服务。

 

  一个网站的发展问题:

  随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分。在拆分之后,各个被拆分的模块如何通信?如何保证性能?如何保证各个应用都以同样的方式交互?这就需要一种负责各个拆分的模块间通信的高性能服务框架

  实例:淘宝的架构变迁

  详参:https://blog.csdn.net/qq_26222859/article/details/47255595

  在淘宝的架构变迁中它解决的面向服务的几个问题:

    1 如何将业务逻辑功能抽象成一个个原子服务,对服务进行封装和组合,并基于分布式系统环境部署,以实现更灵活的业务逻辑和流程。

    2 如何从业务视角厘清这些服务的关系,对大规模分布式系统中的单条服务调用链进行跟踪与展现,并能够及时发现服务调用异常。

  

  上述问题的解决可总结为 - ”对业务逻辑的优化“

  优化的一个方向便是:服务化,将业务逻辑抽象成大小不同的服务。

  

posted @ 2019-05-21 21:10  丨Kouch  阅读(367)  评论(0编辑  收藏  举报