常识六流程服务

简介: 常识系列,作为一名互联网门外汉的科普系列流程服务,乍一看,很高深的样子。其实是个很简单的东东!看到流程,千万别想到workflow那种复杂的玩意。不知道别的公司,别的部门有没有这种服务,这种服务是因实际痛点情况符合底层团队而生的一种服务。

常识系列,作为一名互联网门外汉的科普系列

流程服务,乍一看,很高深的样子。其实是个很简单的东东!

看到流程,千万别想到workflow那种复杂的玩意。

不知道别的公司,别的部门有没有这种服务,这种服务是因实际痛点情况符合底层团队而生的一种服务。

定义

流程服务:一连串按特定顺序请求的服务集

由定义可知特性:

  1. 是个服务集,不只单单某个服务
  2. 这些服务会被特定顺序请求,如果顺序错乱,请求就会被打断

image.png

痛点

为什么会有流程服务?它的价值在哪里

背景

公司一般都是前后端分离,分为前端,中间层,后端。

中间层做了相关聚合,后端已经很底层了。

有多底层呢?底层到只有数据操作,如DB,redis之类的存储操作

比如用户相关:

  1. 用户名密码方式登陆,就是查user表
  2. 通过用户名查询用户信息
  3. 通过用户ID查询用户信息
  4. 登陆成功后发送消息
  5. 登陆成功不用发送消息

这样三个接口,你单单想想,有多大价值,没毕业的学生做得不一定有多差

当然你可更加聪明点:写个万能查询接口,上层有什么样的条件,传过来就行了,拼个万能sql

一个接口,万岁!

如果你不参与整体项目需求评审,项目架构设计,你会觉得你的工作相当无聊,只有CRUD。

痛点

首先一个接口肯定是不行了

  1. 接口职责不清
  2. 性能不能保证
  3. 服务治理是个空话
  4. 重构艰难
  5. 测试困难

image.gifimage.png

根据这痛点,我们职责划分一下,性能,治理都可以解决

那是不是就没有了痛点呢?

举个列子:有个活动,推广用户绑定邮箱,获得一定的奖励

绑定邮箱,对应saveUserEmail接口,就是个插入DB操作,too simple;

有个客诉,说绑定邮箱了,没有拿到奖励。客服要找人解决,找谁? 肯定是底层,数据在底层,有没有绑定邮箱,绑定渠道是什么?什么时间绑定的?

数据都是从上游到下游,但查问题时,都是从下游推导上游

这种底层接口,上游都可以调用,什么时候什么情况什么业务调用的,底层开发完全不清楚。

到底是底层存储错了,还是上游传参错了?

反正这个数据是底层存储,底层需要去梳理调用链,分析下是存错了,还是上游传错了,给客服一个解释,给用户一个交待。

弄不好一个接口有千百个调用方,底层实在是难

讲到这,痛点就清楚了,接口场景的缺失是底层最大的痛点

流程服务

有了痛点,就寻找解决方法:流程服务

不再让中间层聚合所有服务,由底层提供流程服务,简化了中间层聚合的复杂度,底层也保存了场景信息

比如手机快捷登陆流程

  1. 根据手机号查询是否有用户绑定此手机号
  2. 接入风控系统防刷,获取手机验证码
  3. 验证手机验证码
  4. 登陆成功返回用户信息,发送登陆成功消息

当上游请求请求此流程时,底层就知道是手机快捷登陆业务,不再是零散的接口调用

流程数据

流程数据需不需要存储?

流程的每一步如果存储,用什么存储呢? mysql?redis?

流程的有效期是多久呢?是流程结束后清除,还是定时归档?

注意点

DB一般都使用主从架构,虽然大多数时候都是实时的,但也有延迟的时候,如果流程之间时间极短,如何保证主从同步完成时间小于流程切换时间?

如果用户流程不走完,比如一个流程有三步,用户只操作了第一步,或者前两步,那产生的脏数据怎么办?是回滚呢?还是定时清理?


目录
相关文章
|
6月前
|
监控 数据可视化 数据挖掘
【软件设计师备考 专题 】软件过程评估与能力成熟度评估的基本方法
【软件设计师备考 专题 】软件过程评估与能力成熟度评估的基本方法
217 0
|
1月前
|
Web App开发 JSON 自然语言处理
fastchat与autogen使用要点澄清
fastchat与autogen使用要点澄清
37 1
|
5月前
|
数据采集
问卷调查题目构建要点:确保有效反馈的技巧
设计高质量问卷需注意:明确目标,使用简洁语言,避免引导性问题,保持问题单一,提供明确选项,合理顺序,避免敏感问题,预测试以修正错误,控制问卷长度,和确保题目清晰无歧义。这些步骤能提高问卷可靠性和数据质量。
60 3
|
安全 调度 数据格式
1553B基础常识篇
1553B基础常识篇
1638 0
1553B基础常识篇
|
机器学习/深度学习 存储 人工智能
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!(1)
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!
183 0
|
机器学习/深度学习 存储 自然语言处理
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!(2)
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!
174 0
三分钟视频|看懂口语语言处理模型训练全过程
三分钟视频|看懂口语语言处理模型训练全过程
|
机器学习/深度学习 存储 自然语言处理
万字拆解!追溯ChatGPT各项能力的起源 2
万字拆解!追溯ChatGPT各项能力的起源2
|
机器学习/深度学习 消息中间件 人工智能
万字拆解!追溯ChatGPT各项能力的起源
万字拆解!追溯ChatGPT各项能力的起源
|
机器学习/深度学习 存储 数据采集
【翻译】可重复可复现的机器学习在生产中的12个要素
过去的二十年让我们对软件开发有了一些深刻的理解。其中很大一部分原因是 DevOps 的出现及其在整个行业中的广泛运用。 领先的软件公司都遵循相同的模式:首先是软件开发中的快速迭代,然后是持续集成、持续交付、持续部署。每个人工制品都要经过测试,看其提供价值的能力如何,而且软件始终要处于就绪的状态,并且通过自动化方法进行部署。 机器学习这个领域虽不同于传统的软件开发,但我们也能从软件开