当前位置:首页 > 每日看点 > 正文内容

后端开发除了增删改查还有什么?

卡卷网1年前 (2025-01-17)每日看点202

我们先从一个简单的增删改查开始,把业务慢慢变得复杂,看看你要怎么做。

  1. 需求上需要对部分字段加密,读取时解密。又希望这个逻辑能尽量收敛,避免业务层代码遍地都是加解密,同时又能收敛和管控加密的算法,强度,秘钥等。要怎么做?进一步的:
    1. 如果用来加密的服务不是自己开发的,行规要求必须引入第三方服务,每次存储都得带一次rpc怎么办?
    2. 如果用来加解密的rpc临时失败了,要降级吗?还是直接报错?
    3. 有部分获取数据的请求根本就不需要那条被加密的字段,只需要其余几列。能把加解密优化掉吗?
  2. 用mysql太慢了,希望改成某种序列化KV,过渡期不能停服,要双写同时又要能保证数据一致要如何做?进一步的
    1. 改成了KV,但KV可能挂,能临时用mysql降级先存着,KV恢复时再写回来。能保证数据不丢吗?
    2. 以上问题如果发生了跨机房,如何设计数据的访问模式呢?
  3. 插入时可以保证幂等吗?如果有多次并发的请求从端上发过来(端上可能会重试,可能会bug抽疯),后端能保证只写入一条数据吗?进一步的
    1. 如果这个数据需要支持软删,软删了后还得可以恢复(比如某种回收站功能),能保证同时只有一条”未删除“的数据吗?insert和update set deleted=0能很好的配合不出乱子吗?
  4. 两个机房,做主从复制。无论如何主从复制必然有延迟。如果主库机房写入一条订单,还没复制给从库,主库机房挂了怎么办?从库无法得知主库有这么一条记录,切主可能会导致数据丢失(以及接下来的用户的投诉和巨额赔偿)还是说,这个订单必须得到了从库才算”成功”,怎么实现呢?
  5. 一个共享文档,十几个人同时改一行文字,这个改的文字最终会变成什么样呢?改动生效的规则和时序怎么算呢?
  6. 一个IM,一堆人在同一个群的不同的端上发消息,谁先谁后呢?
    1. 可以用序列号来搞,但这个序列号怎么生成呢?
    2. 单机可以抗下吗?序列号生成器挂掉怎么办?
  7. 做一个鉴权系统,需要存取一堆鉴权规则。鉴权时读取即可实现鉴权,比如用户A能不能访问一个文档X。问题是A可能在一个组织架构里,有上级部门;上级的部门又有上级部门。任意一个部门都可以设置访问文档的规则。 如果多级部门各自设了不同的规则(能访问/不能访问),最终落到A上哪个规则生效呢?具体的逻辑怎么写?更进一步的
    1. 这个规则里还带有条件咋办,比如工作日10:00~17:00可访问;其余时间不可访问
    2. 如果规则有特殊处理咋办,比如不可访问时用户可以向上级发一个申请,审批通过后就可以访问了
    3. 用户又要求这个访问规则必须分多个版本。新版本审批后才能替代旧规则。怎么做?
  8. 大量对一个微博帖子发了很多赞,这个赞怎么存和保证准确呢?每次 select count(id) ? 进一步的
    1. 假如我们可以允许一定程度的不准(比如超过9999赞,不太准也可以)但要求不能偏的离谱,必须按某种时间间隔去“矫正”。这个矫正怎么触发呢?
    2. 如果矫正需要某种分布式定时器,这个定时器怎么实现呢?单机可以抗下吗?
    3. 如果机器挂了,定时规则没存盘就丢了,能不丢吗?

……

把眼界放开一点,你会发现有无数的问题可以解决。这些问题搞来搞去其实也能回到增删改查上,但怎么组织这些逻辑,给出可行靠谱的方案才是更关键的问题。

然后你是不是发现,总有几个人把这些事情都想清楚了,把一个巨复杂的问题拆解了,然后告诉你去做其中一部分增删改查?

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9691.html

分享给朋友:

相关文章

免费流量才是王道 独立网站如何正确“花钱” ?

免费流量才是王道 独立网站如何正确“花钱” ?

获客难、广告成本高、效益差是平台卖家普遍遇到的发展瓶颈,由此也让不少卖家转向独立站之路。 由平台转向独立站、曾做到谷歌全球搜索排名前三的成人用品独立站卖家林健认为,独立站...

现在手里有一万闲钱,买什么币好?

今天是2024年7月29日,看看我的持仓吧。只有几百刀的那些微持仓就不说了,以下持仓都在几千刀~几万刀不等。不构成任何投资建议,成本是多次买入的大致均摊成本$TIA 成本0$DYM 成本0 $SAGA 成本0$STRK 成本0$ETHFI...

为什么微服务一定要有网关?

为什么微服务一定要有网关?

网关一句话总结,网关的作用是上浮公共逻辑,下沉差异逻辑。公共逻辑就是所有接口都需要做的事,比如权限校验,限流算法等,这样业务就只需要关心业务逻辑即可。下面是一个对比图: 当然除了一些公共逻辑外,路由也是网关的核心功能,它可以进行流量转发。...

开发了个小程序,咋推广呢?

要是开发了个小程序,想推广的话,可以先从自己的朋友圈子下手,让亲戚朋友都帮忙转发宣传,这样能先有点人气。然后去一些跟你的小程序相关的论坛、社区啥的,发帖子介绍介绍,吸引有兴趣的人。还能找些网红、博主合作,要是他们觉得你的小程序不错,帮忙推荐...

你是如何在不依靠工资收入的情况下赚到一万元的?

你是如何在不依靠工资收入的情况下赚到一万元的?

分享几个路子稳,门槛低,变现快,适合年轻人的靠谱的副业。绝对不是送外卖、滴滴、搬砖等等的苦力活,这几个副业都是能是性价比极高,还能让你快速成长的工作。想通过副业实现暴富、立马月入过万的同学,建议速速划走。今天撇哥就给大家分享100+个靠谱赚...

计算机专业不干互联网不热爱技术,还能转行干什么?

转行的思路,无非也就是那几个。我们顺着每个思路,一路捋一遍,基本上,大致可行的方向,也就有了。一、跟对口职业和岗位业务链条相邻的职业和岗位计算机专业如果找到了对口的技术岗位,跟技术工作联系最紧密的岗位是什么?产品经理。当然,大多数产品经理也...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。