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

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

卡卷网11个月前 (01-17)每日看点184

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

  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

分享给朋友:

相关文章

国内比较好用的快速开发平台有哪些?

国内比较好用的快速开发平台有哪些?

低代码/零代码快速开发平台,一直是近年来很热的一个词,各大巨头的纷纷加入也给这个赛道。题主需要一个能二次开发的低代码快速开发平台,可以试试JVS低代码(私有化)。JVS低代码前端采用Vuex框架和Element-ui组件库,后端则基于Spr...

Photoshop 有哪些使用技巧?

Photoshop 有哪些使用技巧?

不看后悔系列!本篇分享25个PS实用的技巧!不能保证每个都能让你惊艳,但是却是我用心写出来的,希望对你有帮助。另外我的知乎也写了接近200篇PS的技巧,超级合集分享!分享25个关于PS的技巧一、快速制作文字倒影1、新建文档,1500×100...

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在讨论服务网格之前,先理解一下为什么我们需要它。现代微服务架构意味着将应用拆分为多个小型、独立的服务,这些服务可以独立开发、部署和扩展。然而,服务之间的通信和管理成了巨大的挑战,例如如何保证安全的通信、负载均衡、监控与可观测性等。服务网格...

为什么雷军身上没有酒色财气?

武大建校130周年时,雷军向母校个人捐款13亿。在2023年8月14日晚上七点,雷总在国家会议中心举行的进行第四次年度演讲「成长」:全篇都在谈成长、梦想,这么多年了,始终做到了知行合一,我相信酒色财气可能真不是他所追求的,一直追求的就像他演...

有哪些让你目瞪口呆的 Bug ?

有哪些让你目瞪口呆的 Bug ?

成都有个监狱情况比较特殊,关押的基本全是重犯,而且还都是经济犯和政治犯,他们以前都是一方大佬,在自己的一亩三分地翻手为云覆手为雨,无非是不小心中箭落马或帮老大顶锅才进监狱,所以即使进来了,他们依然保持着体面和骄傲,依从性差,虽然不至于和监狱...

怎样拥有一台最便宜的服务器?

怎样拥有一台最便宜的服务器?

内容提示:主打一个 DIY + 极限白嫖 =)某宝花10块买一个“随身WiFi”,刷入Ubuntu,用SSH远程连接,但是记得一定要把外壳撬掉然后粘个散热器(哪怕是白萝卜也彳亍),否则会过热详细去酷安社区搜“随身WiFi”=========...

发表评论

访客

看不清,换一张

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