Web应用


UBSI能够帮助应用开发者快速实现微服务架构的落地,一个典型的微服务化的Web应用,应该具有如下的架构:

在这种多层的分布式架构下,应该遵循的设计原则:

  • 将核心的业务逻辑封装为"微服务",微服务应该是自治、细粒度、松耦合、无状态的。如果是复杂的业务系统,还可以继续对微服务进行分层,比如基础服务、业务服务、聚合服务等
  • 微服务封装业务数据以及资源访问,"前台"的Web应用必须通过微服务接口才能访问/操作这些资源
  • 微服务管理的业务数据及其操作逻辑是可以"开放"给其他应用使用的,应用之间的互操作或数据共享应该通过微服务层来处理,不同业务领域的微服务进行聚合,可以形成统一的业务"中台"
  • 微服务层之前的面向用户的展现及交互部分可以作为"前台"Web应用,又分为两层:
    • 应用前端:向用户展示数据、提供交互功能的UI界面,比如Web页面、移动端APP等
    • 应用后端:负责向应用前端提供数据以及操作接口

通常情况下,Web应用的后端是一个提供restful-api的Web服务:

  • 响应前端的"查询"请求:调用"中台"的微服务接口获得数据,对数据进行聚合或转换,以json的形式提供给前端
  • 响应前端的"操作"请求:调用"中台"的微服务接口进行相应的业务处理。(Web服务本身不应该实现具体的业务逻辑,也不应直接访问业务数据等资源)
  • 负责处理用户身份认证及操作鉴权,如果需要的话,还应该处理"统一用户认证"或SSO单点登录等机制
  • 负责采集/记录用户行为数据(日志),以供统计分析或操作审计

results matching ""

    No results matching ""