前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常识六流程服务

常识六流程服务

作者头像
码农戏码
发布2021-03-23 10:28:20
4710
发布2021-03-23 10:28:20
举报
文章被收录于专栏:DDDDDD

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

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

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

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

定义

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

由定义可知特性:

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

痛点

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

背景

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

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

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

比如用户相关:

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

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

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

一个接口,万岁!

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

痛点

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

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

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

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

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

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

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

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

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

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

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

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

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

流程服务

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

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

比如手机快捷登陆流程

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

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

流程数据

流程数据需不需要存储?

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

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

注意点

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农戏码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
  • 痛点
    • 背景
      • 痛点
      • 流程服务
        • 流程数据
          • 注意点
          相关产品与服务
          对象存储
          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档