同一套服务如何应对不同终端的需求——服务适配

2023-11-06

经过前几个章节的实践,会员已可以绑定手机号,更新个人信息,绑定个人车辆信息,开通月卡,签到等功能,下面从客户端查看自己的数据入手,再聊聊服务调用的问题。

简单处理

我们已经将用户数据进行垂直拆分,分布在不同数据库中,当客户端数据展现时,就需要分别调用不同服务的 API,由前端将数据重新组装展现在用户端。

会员个人信息、车辆信息、月卡信息维护在会员库中,积分信息维护在积分库中。如果想一个页面同时展现这两块的数据,就必须由客户端发起两次接口调用,才能完整地将数据调用到,如下图所示:

这种方式相当将主动权交给前端,由前端完成数据整理,后端仅提供细粒度的服务。微服务架构在增加业务灵活性的同时,也让前端的调用变得复杂起来,有两个问题暴露得很突出:

  1. 前端发起多次接口请求,网络开销增大,极端情况下不利于用户体验
  2. 前端开发工作量增加

服务聚合

前面数据调用流程暴露出来的问题,在功能复杂、服务拆分较细时,问题就会被放大,影响产品的使用。这里就需要优化一下调用流程,我们在架构层面稍加调整,在客户端与微服务层中间增加一个适配层,目的也很简单,客户端仅发起一次请求,调用适配层服务,适配层服务中将多个子服务进行聚合,各子库里的数据按照业务规则重新组装成前端需要的数据,再返还给前端时,前端仅做展现。于是调用链就变成下图的模样:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同一套服务如何应对不同终端的需求——服务适配 的相关文章

随机推荐

  • openGL着色器 (shader)

    着色器 shader 着色器 Shader 就是运行在GPU上的小程序 这些小程序在图形渲染管线的某个特定部分而运行 从基本意义上来说 着色器只是一种把输入转化为输出的程序 着色器也是一种非常独立的程序 因为它们之间不能相互通信 它们之间唯
  • Web前端知识点复习总结

    目录 1 HTML简介 2 CSS 2 1 盒子模型 2 2 float 浮动 3 JavaScript 4 jQuery 5 Bootstrap 1 HTML简介 HTML 超文本标记语言 用于编写网页 超文本 超文本是用超链接的方法 将
  • JAVA基础(JDK+环境变量+首个程序HelloWorld.java)

    Day01 Java开发笔记 1 交互方式 2 键盘基本功能键 3 键盘快捷键 4 常用dos命令 5 java语言平台版本 6 java语言特点 7 java的两大器件 8 第一个java程序 HelloWorld java 9 环境变量
  • 计算机视觉(五):使用SVM分类Cifar-10数据集

    1 引言 之前我们使用了K NN对Cifar 10数据集进行了图片分类 正确率只有不到30 但是还是比10 高的 手动滑稽 这次我们将学习使用SVM分类器来对Cafi 10数据集实现分类 但是正确率应该也不会很高 要想继续提高正确率 就要对
  • 操作系统——存储管理-段式存储组织——2020.11.25

    存储管理 段式存储组织 一丶段式存储 嗟险阻 叹飘零 关山万里作雄行 一丶段式存储 按用户作业中的自然段来划分逻辑空间 然后调入内存 段的长度可以不一样 我们在进行页式存储时 由于页内地址都是一样的 所以我们只需要去需要页号和页帧号就行了
  • 微信小程序:页面或者按钮为什么会抖一下?

    其实不仅仅是小程序 我们再搞前端点击按钮或者切换状态时都会出现页面 抖动 的情况 举个例子我们自己设置一些选项按钮 让用户切换选择对应选项 有的会发现切换这个对应的按钮会发现按钮会 抖动一下 之所以抖动的原因就是 切换 选择 和 未选择 的
  • [视频图像处理]1. 色域基础知识与色域转换公式

    常见色域基础知识与色域转换公式 所谓色域 Color Space 就是一种颜色的表示方法 针对不同的显示设备不同的系统 往往有不同的表示方法 目前被广泛使用的色域可以被分为三大类 RGB YIQ YUV YCrCb CMYK RGB应用最广
  • Linux常用命令_文件处理命令:su root

    文章目录 1 命令格式与目录处理命令ls 1 1 命令格式 1 2 目录处理命令 ls 2 目录处理命令 2 1 目录处理命令 mkdir 2 2 目录处理命令 cd 2 3 目录处理命令 pwd 2 4 目录处理命令 rmdir 2 5
  • 使用arcgis修改行政区划图边界

    打开ArcMap 我的是10 8版本的 1 添加行政区划图数据 文件 添加数据 添加数据 弹出添加数据框 点击红色框中的按钮 连接到数据所在文件夹 选择要处理的数据 添加 不便放入整体规划图 放大后选取部分作为示例 本次处理目的是把红色框中
  • 3d散列点云的曲率的求法

    1 取某个区域内的n个最近邻点根据局部抛物面拟合公式 z x y Ax 2 By 2 Cxy Dx Ey F 用最小二乘法可求出上面的各个系数 即可求得空间曲面函数的系数 2 根据公式 Km A 1 E 2 B 1 D 2 CDE 1 D
  • 合宙Air105

    基础资料 基于Air105开发板 Air105 LuatOS 文档 上手 开发上手 LuatOS 文档 探讨重点 对官方Socket网络接口demo中DTU连接示例 dtu demo lua 进行复现及分析 进行用阻塞方式做串口透传DTU内
  • 数据资源丨原始数据哪里找?这些网站要用好!(建议收藏)

    资料搜集是个相当繁琐与累的工作 也是投资入门的基本 良好的信息资料搜集能力有利于我们快速了解投资主体的基本情况 为后续的调研及一手资料的获得打下较好的基础 目录 一 搜索引擎 重点掌握 1 搜索关键字的选择 2 搜索技巧 3 搜索引擎推荐
  • pptp流量分析之搭建pptp测试服务器

    1 前言 最近研究常见vpn流量协议 需要产出检测规则对此类流量进行检测 遂需要搭建测试环境抓取测试流量 简单记录一下 2 环境准备 1 ubuntu22 04 服务器 2 win11 客户机 3 安装及配置 3 1 ubuntu服务器安装
  • 高通平台USB 2.0和USB 3.0接口充电器识别原理

    1 BC 1 2 1 1 充电器类型探测 1 DCD DP上有150mV 10uA x 15K欧姆下拉电阻 的电压 DM上电压为0 2 Primary Det DP发起检测DM DP上加载0 6V电压 DM上电压为0 充电器类型是SDP D
  • Pikachu漏洞靶场的简介、下载与安装

    文章目录 简介 下载 安装 简介 pikachu是一个漏洞练习平台 其中包含了常见的web安全漏洞 Burt Force 暴力 漏洞 XSS 跨站脚本漏洞 CSRF 跨站请求伪造 SQL Inject SQL注入漏洞 RCE 远程命令 代码
  • [WSL-1-Ubuntu]使用oh-my-zsh美化你的WSL(附脚本)

    在腾讯云买的那个1c2g的服务器 想用mycat搭建一个mysql cluser 用docker部署了一主一从内存就没了一半 可一主一从没啥作用 起码也得2主2从吧 而且还有HA呢 但内存和钱包不给力 所以就想到WSL这个方案 在开wsl这
  • 发现1个拿来即用的Python高级脚本,收藏!

    今天 给大家推荐一些用Python爬虫做私活的渠道 先给各位还不熟悉Python爬虫的朋友介绍一下 可以短时间获得大量资料 可以进一步数据分析 当然也可以获得收益 学会Python爬虫以后 还可以通过各种渠道 网站接单 接单群 私人介绍 接
  • 今日头条信息流广告怎么做?(今日头条信息流广告费用解析)

    国内的各种渠道千千万 主流的广告平台不算多也不算少 而今日头条与其它平台最大区别在于 个性化推荐和智能分发 可以简单理解为 今日头条上投放的广告 是通过 机器人代码 过滤再分发出去的 因此了解 机器人 在分发过程中遵循的规则 随着网络的发展
  • pytorch: RuntimeError: DataLoader worker (pid(s) 27292) exited unexpectedly

    厉害了 用win10特有的bug 搞半天 就是把pytorch下dataloader的其中一个num workers参数注释掉 可能是win10只有一个thread的原因 torch utils data DataLoader self d
  • 同一套服务如何应对不同终端的需求——服务适配

    经过前几个章节的实践 会员已可以绑定手机号 更新个人信息 绑定个人车辆信息 开通月卡 签到等功能 下面从客户端查看自己的数据入手 再聊聊服务调用的问题 简单处理 我们已经将用户数据进行垂直拆分 分布在不同数据库中 当客户端数据展现时 就需要