微服务架构设计的首要任务就是合理划分微服务,即围绕业务功能创建微服务项目。在划分微服务时,有关微服务粗细粒度的考量,建议在平台创建的初始阶段使用粗粒度的方法,按业务功能进行划分。随着业务的发展及其运营的情况,再依据发展规模考虑是否继续细分。下面,我们将使用水平划分法和垂直划分法两种方法相结合的方式创建微服务。
一方面,在水平方向上,根据业务功能划分微服务,并把这次划分所创建的微服务称为 RESTAPI 微服务。RESTAPI 微服务负责业务功能的行为设计,主要完成数据管理方面的工作,并通过使用 REST 协议,对外提供接口服务。
另一方面,在垂直方向上,再以 REST API 微服务为基础,实现前后端分离设计,创建 WebUI 微服务。Web 微服务不直接访问数据,它只专注于人机交互界面的设计,它的数据存取将通过调用阻STAPI 微服务来完成。
这样,经过两次微服务划分,我们就可以创建出 RESTAPI WebUI 两种类型的微服务。
也就是说,我们只要使用两种类型的微服务,就可以构建一个复杂的业务系统。
使用 RESTAPI WebUI 微服务,结合高性能和高并发的设计,再通过微服务的多副本发布,就可以构建一个能适应任何规模访问的、多维的、稳定牢固的网格结构,并且这个网格结构还具有自由伸缩的特性,可以根据业务的发展规模进行扩充或者缩编 这样就可以快速地搭建一个可持续扩展的系统平台。
根据电商平台的总体设计及其各个业务模型的功能,就可以创建和划分微服务了。
下面使用 上节中微服务架构的设计方法划分微服务,即使用水平划分法和垂直划分法创建微服务项目。
首先使用水平划分法,按电商平台的业务功能 进行阻ST API 微服务划分。下面是初步划分出来的一些微服务。
通过这些微服务,就可以创建出相关的 RESTAPI 微服务。RESTAPI 微服务是一个独立的小应用,并且有独立的数据库,可以独立部署和独 运行。RESTAPI 微服务使用 体对象进行数据的存取操作,然后对外提供基于 HTTP RESTful 接口服务。
这些微服务的大体功能说明如下。
在创建REST API 微服务之后,就可以使用垂直划分法,根据每个 REST API 微服务实现前后端分离设计,创建 Web 微服务。
根据电商平台的业务模型设计,我们将分别从移动商城、商家管理后台和平台管理后台三个方面创建 Web 微服务
移动商城的业务功能包括:分类查询、商品查询、购物车 理、订单查询、物流跟 查询、个人信息管理和会员卡管理等。
移动商城的 Web 微服务如下:
使用这些微服务提供的服务功能,就可以构建出一个轻灵小巧而又功能丰富的移动商城应用,为各种移动设备提供一个自由网购的服务。
商家管理后台的业务功能包括 用户管理、商品管理、订单管理、物流管理、会员管理和点击率统计等。这里的每一项功能,都分别由一个单独的微服务应用提供。
商家管理后台的 Web 微服务如下:
商家管理后台将实现安全的访问控制设计,其功能由不同的应用提供。为了统一用户登录,提供友好的用户体验,我们还将使用一个 sso (单点登录)设计。
sso 是一个独立的微服务应用,一方面提供统一的访问控制功能,另一方面提供接入应用的授权认证管理功能,即不管商家用户在哪一个应用中登录,都可以获得访问其他应用的权限。
平台管理后台是一个独立的 Web 微服务应用,它通过调用商家服务,实现商家注册、审核,以及权限配置等管理功能。
平台管理后台的操作对象为平台运营方,使用范围较小,所以可以使用较为简单的设计方法,即用一个单独应用完成下列相关管理功能
另外 ,平台管理后台的访问控制设计也可以使用较为简单的方法实现。
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。