[编程技术] 后端开发除了增删改查还有什么?
作者:CC下载站 日期:2021-11-30 14:00:51 浏览:5 分类:编程开发
背景
很多刚接触后端开发的同学,会发现,后端开发不就是增删改查吗?的确,如果你做的东西只是一个很小的流量的一个网站/平台的后端,用户量低,每秒钟访问量低,对数据的一致性和服务的稳定性要求也没那么高。那就是简单的增删改查,一台服务器连接数据库,API直接读写数据库。 可是日子久了,你发现你的网站/平台用户量和流量都上来了,代码越来越复杂,这就涉及到服务扩展,业务拆分,架构设计。
很多人找工作,公司会要求,高并发工作经验者优先,可是只做过几千几万人的服务,只是简单的增删改查,根本没接触过高并发。怎么办?
本人目前在新加坡 某电商平台 做后端开发,服务十亿级别用户,数据量百亿级别,QPS 千万级别,说一下我的经验。
后端开发,说到底,就是增删改查。但是一千用户的小网站的增删改查,和10亿用户的增删改查,是两件事情。
后端开发
起步
比如很多计算机专业的学生,大学的时候做过 图书馆管理系统,我们当那是最简单的增删改查。 这个有多简单呢,网页连接一台服务器连接数据库查询。 这就是最简单的后端,性能,一致性,扩展性,并发性都不需要考虑。数据正确就行了。
分布式
一台机器不够用了,需要多台服务器,需要分布式集群吧。
负载均衡
数据库
使用什么数据库,MySQL, TiDB, Redis等等。
部署
Jenkins
容器技术
Docker/K8s
性能监控/报警
需要监控很多东西,服务的内存/CPU/带宽使用,QPS,错误率,延迟等等。Prometheus+Grafana
日志平台
当我们的分布式部署之后,怎么统一的查看日志来定位问题。怎么把日志收集在一起,用什么储存方便搜索。ES?
微服务
业务解耦,比如登陆注册业务和订单业务就可以解耦,通过调用来获取数据。 服务注册与发现
数据拆分
服务拆分隔离了,那么数据库也要开始拆分了。 怎么拆分,分库分表,水平切分,垂直切分。
数据库性能优化
数据库性能瓶颈了,需要怎么优化,读的瓶颈怎么优化,写的瓶颈怎么优化。
缓存设计
当DB有读写性能压力的时候,需要加缓存,怎么保存缓存的一致性。
消息队列设计
同时使用人数过多,是不是有些地方可以异步,比如异步DB存储。有很多消息队列,RabbitMQ/RocketMQ/ActiveMQ/Kafka,各自怎么实现的,用哪种。
数据实时性
websocket/netty了解下。
热点数据
比如微博热点新闻,双十一0点流量。这种热点数据,你用缓存一样的解决不了,怎么办。上内存缓存吧。数据分散,担心内存太大,LRU吧。
服务限流
上游某个业务突然流量增大,影响了其他核心业务的调用,
最终保证
作为后端人员,不仅仅停留在用户端侧体验以及交互形式,更重要的是从用户的数据模型、业务场景、业务模型、系统架构设计、领域建模、业务流程以及高并发、高可靠、规模化等稳定性角度,去提升产品整体的体验和价值,解决用户的诉求。
我们只需要写好SQL语句,去数据库查到数据,返回到页面中展示就可以。
如果你经历从0到亿级别的数据增长,你一定会面临很多挑战,重构和优化,因为当我们从0开始的时候,一定不会考虑一亿的时候怎么设计。考虑的太远,严重浪费资源和增加复杂度,一定是业务量带动需求。随着系统承载的瓶颈,来带动我们对增删改查的优化。
比如如何设计?
如何设计表结构。 用户增长之后,读的瓶颈如何解决,写的瓶颈如何解决。 怎么提升缓存命中率,分库分表的原则是什么,读写分离怎么设计。 热点数据怎么储存。 数据不一致怎么保证。 服务怎么拆分,数据怎么拆分。 大促的时候更新QPS超出DB的性能瓶颈,怎么处理。流量削峰怎么设计,MQ怎么使用。 1千用户增长到1百万用户,你的数据怎么处理。DB查询速度会不会变慢,10个亿的用户呢。 为什么我明明设置了索引,却没生效? 怎么处理高并发?
1万QPS的时候怎么处理。 1百万QPS的时候怎么处理。 1千万QPS的时候怎么处理。 大促期间(双十一)的流量增长怎么解决? 微博突发热点(明星出轨)怎么保证服务器不挂? 在你增删改查的过程中,怎么去实现一些方案:
实现一个分布式ID生成方案。ID需要保证全剧唯一。 实现一个在亿级数据里面支持分页查询。(最简单的例子,朋友圈分页去查看好友动态)。 如何实现高可用?一台机器宕机之后不影响其他机器和的运行和整个服务的可用性。 如何实现服务降级和服务限流。 写增删改查简单,写好增删改查却不容易。作为后端程序员,你我要学的都还有很多。
猜你还喜欢
- 03-29 [编程相关] Winform窗体圆角以及描边完美解决方案
- 03-29 [前端问题] has been blocked by CORS policy跨域问题解决
- 03-29 [编程相关] GitHub Actions 入门教程
- 03-29 [编程探讨] CSS Grid 网格布局教程
- 10-12 [编程相关] python实现文件夹所有文件编码从GBK转为UTF8
- 10-11 [编程算法] opencv之霍夫变换:圆
- 10-11 [编程算法] OpenCV Camshift算法+目标跟踪源码
- 10-11 [Python] python 创建 Telnet 客户端
- 10-11 [编程相关] Python 基于 Yolov8 + CPU 实现物体检测
- 03-15 [脚本工具] 使用go语言开发自动化脚本 - 一键定场、抢购、预约、捡漏
- 01-08 [编程技术] 秒杀面试官系列 - Redis zset底层是怎么实现的
- 01-05 [编程技术] 《Redis设计与实现》pdf
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[课程] 最用心全面的VIP硬笔书法课程(共250课完结) 手把手教 附可打印控笔素材
[MV] 韩国女团MV398首[打包]
[电影] 2023年美国喜剧片《问题专家》HD中英双字
[电影] 1999年美国经典传记片《十月的天空》蓝光中英双字
[影视] 破墓 WEB-DL版下载/Exhuma/The Unearthed Grave 2024 파묘 6.61G
[影视] 问题专家 WEB-DL版下载/大麻烦家(台) 2023 Problemista 18.2G
[短剧] 10部午夜小短剧 擦边剧
[电影] 2022年日本7.0分科幻片《疯狂星期一》BD日语中字
[电影] 2024年英国爱情片《血爱成河》BD中英双字
[课程] 爆款视频前三秒如何设计50招_短视频运营婧姐
[资料] [大学期末救急课] 猴博士+高斯课堂+斐多课堂,全集视频合集
[云资源] 价值2万元的老男孩Python教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[云资源] 花了一千多元买的私人健身教程
[下载工具] Internet Download Manager 6.42.7 (IDM)
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[即时通讯] 腾讯QQ PC版9.7.22.29315去广告绿色纯净版
[开发环境] PhpStorm2023中文激活版v2023.3.3 正式版
[资料] 3000 套电影电视剧 LOGO 宣传片常用音效合集包
[安卓软件] 酷我音乐APP_v10.7.6.4 去广告破解豪华VIP版
[云资源] 价值2万元的老男孩Python教程
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[云资源] 花了一千多元买的私人健身教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[动画] 北斗神拳(1984) [两季合集] [MKV]
[资料] 抗战阵亡将士资料+续编
[电视剧] 三体 (2024) 全8集 网飞版本 中文字幕 合集
[影视] 三大队 WEB-DL版下载/Endless Journey/请转告局长,三大队任务完成了 2023 三大队 6.7G
[纪录片] 河西走廊【10集 国语 中文字幕 1080P 10.8G MP4】
[安卓软件] OfficeSuite中文版APP v14.2.50872.0破解版
- 最新评论
-
我想看看mw2ddyy 评论于:04-26 好东西阿zfy123123 评论于:04-18 谢谢楼主xiaoqi 评论于:04-12 勿在线解压,勿手机解压,请在电脑上用最新款压缩软件解压!推荐360压缩或者好压CC下载站 评论于:04-10 无法解压啊,客服能不能给个解压教程ravengrey 评论于:04-10 谢谢支持!!CC下载站 评论于:03-26 很棒的资源,感谢分享云体风身 评论于:03-26 感谢分享,好东西云体风身 评论于:03-26 谢谢支持!CC下载站 评论于:03-14 央视精品,感谢付出提供。qwer9009 评论于:03-14
- 热门tag