调度思想-现实中的事物与技术里面其实存在类似道理

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 以前看有人解决铁道部订票方案的时候,提供的思路。网友评价是:陷入了纯技术思维路子。   仔细想想非常有道理。 这里还是一种调度的思想原则。现实中很多事情像公交车,列车,拥堵的时候进行调度,运作的不错。

以前看有人解决铁道部订票方案的时候,提供的思路。网友评价是:陷入了纯技术思维路子。

 

仔细想想非常有道理。

这里还是一种调度的思想原则。现实中很多事情像公交车,列车,拥堵的时候进行调度,运作的不错。如果陷入纯技术思维就会是:我如何才能把道路扩宽,让车子更快地通过道路….这些方案都可行。但实际意义要考虑成本与实用性。这种思维可以用到网站技术上去。然后技术作为一种工具,在思想指导下实现(比如代码锁定金额,不能操作等等)。

 

 

即便用复杂的技术解决了快速访问,下单的问题,那接下来新的问题来了:

 

 

 

所以还是要限额调度的思想。那个时候我发现,学会相通性思考。把现实中的东西道理带到技术中去。比如现实中解决交通问题的调度思想就完全很好。

之所以归纳总结,今天我在看石展《mysql开发军规》分享一个dba的经验时候,找到了思想的共鸣,他也用交通问题这个例子来说明解决问题的思路:

他举例,说明现实生活在堵车,只要其中一辆车抛锚了,就会导致所有的车都无法前进,被卡死了(本身道路宽度就有限)。所谓一个抛锚拖死全部。

 

在传统的数据库系统中,是建议,尽量使用更少是sql完成更多是事情。也就是尽量少到使用一条sql实现更多的查询。
但是这个使用原则在mysql中就不适合(我觉得在互联网大并发访问情况下都不适合,不清楚oracle什么情况),因为mysql被设计成适合高效的连接和断开,响应查询。所以很适合拆分成多条sql去实现。
假设一个情况:在5000个qps中(每秒响应5000个sql请求),如果一条sql查询超过了一秒,就会导致整个拖慢,就像交通中道路一辆车抛锚了,整个交通都会堵掉。

 


我曾经在思考这方面:现实生活中,堵车,道路宽度有限。如果单纯依靠扩宽道路来解决交通问题,是解决不了根源问题的,因为道路宽度即便扩宽,也有更多车去拥挤,扩宽是有极限,扩到不能扩了才麻烦(类似于服务器,数据库方面使劲去扩,已经达到极限化了,换种思维模式往往柳暗花明)。我的理解是,无论你把道路扩宽多少,总会有更多的车辆不够用,然后占据车道去了。原来3米,后来变成5米宽。开车的车主仍然会去占据剩下2米的宽度。应该是一种调度思想指导。

我曾经想:坐火车,每到过节车厢就那么拥挤。如果多增加一些车厢了。是不是就不会那么拥挤了。后来我想了想,随便增加多少。仍然会拥挤得满满的。增加更多的车厢,仍然会提供更多的售票,人还是会去买的(毕竟中国人都更加倾向于做火车,因为穷人多,比较经济。高铁的话为什么反而是空空,因为价格贵。火车当然安全也是一大因素。)

 

网友提到一点,让我印象深刻,那就是:在订票系统没出来之前,现实中的铁路售票系统都足够应付全国范围的售票了。说明这个系统足够应付。只是网络自助售票系统没有解决好调度问题。在怎么往大并发的技术方面去着力,也只是付出与产出不成正比。

把业务模式稍微调整一下,参考现实中已经有的成功例子:交通调度。把这类思想运用,也许发现会更好。

 

现在也逐渐感悟到技术跟哲学之间的关系。哲学是一种道的层面,思想层面的东西。具体的技术,mysql,java,php等都是具体的术。就是战术与战略之间的关系了。不过我承认还是的多了解一些战术,这样战略才能知道自己制定,这个战略是否能实现

 技术工作者,提升到哲学层面才是方向。我发现,同样是技术,有的人,虽然做了7、8年。仍然可能纠结在具体的技术层面。无法上升到思想层面去看待问题。

”这个世界好像没有一个完美的技术解决方案“,好像跟哲学都是相通的。选了a方案,可能失去的是其他方面。总会有失去。有既符合a,b,c的方案很少。比如,数据库设计中,空间换性能,需要提高性能。有时候就要损失一定数据的一致性(不符合三大范式)。

往往都是一个取舍的过程,得到我想要的,然后失去的是我不是非常关注的。

 

 

补充一下,后来看这本书《大型网站技术技术架构》提到一点我很认同,现在收藏下来如下:

 

误区三:企图用技术解决所有问题

最典型的例子就是2012年年初12306故障事件后,软件开发技术界的反应。

各种专业和非专业人士众说纷纭地帮12306的技术架构出谋划策,甚至有人提议帮12306写一个开源的网站,解决其大规模并发访问的问题。

12306真正的问题其实不在于它的技术架构,而在于它的业务架构:12306根本就不应该在几亿中国人一票难求的情况下以窗口售票的模式在网上售票(零点开始出售若干天后的车票)。12306需要重构的不仅是它的技术架构,更重要的是它的业务架构:调整业务需求,换一种方式卖票,而不要去搞促销秒杀这种噱头的游戏。

后来证明12306确实是朝这个方向发展的:在售票方式上引入了排队机制,整点售票调整为分时段售票。其实如果能控制住并发访问的量,很多棘手的技术问题也就不是什么问题了。

技术是用来解决业务的问题,而业务的问题,也可以通过业务的手段去解决。
 
====================================end
 
 
 
 
 
 
我记得我曾经看阿里旺旺的dba分享他们的数据库设计经验的时候,童家旺提到一句关键话:不是我们技术多么牛地解决了数据库方面的问题,而在于我们的架构师把产品经理一些无理的需求给砍掉了(不是原话,但大体是类似的意思)
 
 
有些感想,果然对一个事情钻研越深入透彻,思维就越提升到高层面,因为你熟悉了所有技术手段了,知道什么是技术手段解决不了的,不是陷入纯技术思维,使劲用技术手段去折腾,此时往往是哲学思维发挥作用了
 

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
程序员 开发者
代码与禅意:寻找编程中的内在和谐
【4月更文挑战第8天】 在数字世界的纷繁复杂中,编程不仅仅是一项技能,更是一种艺术。本文探讨了编程与禅宗哲学之间的深层联系,阐述了如何在技术的冰冷逻辑中寻找到心灵的温暖和内在的和谐。通过反思编程过程中的创造力、专注力和简洁性,我们能够揭示出技术实践与精神修养之间的桥梁。
|
7月前
|
C++
C++零碎概念介绍
C++零碎概念介绍
|
11月前
「管理」处理复杂性-一个粗略的指南,领导模式和理论
「管理」处理复杂性-一个粗略的指南,领导模式和理论
|
存储 编译器 Linux
C生万物 | 窥探数组设计的种种陷阱
数组在设计的时候为何会出现那么多纰漏?数组越界是如何导致的?,我们来一探究竟🔍
52 0
C生万物 | 窥探数组设计的种种陷阱
思维概念
思维概念
174 0
|
SQL 缓存 架构师
谈谈架构师是何种生物
架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。 所以,大部分(超过九成的)码农干上许多年,还是做不了架构师,这是什么原因造成的呢? 什么是架构师? 写代码和做架构是两个不同的事情。什么是架构师,架构师要做什么事情,为什么 Java 的领域里,会更注重架构师? 很早很早之前,我对于架构的概念一点都不理解,依稀记得,架构( architecture)这个词,来自于建筑领域。
147 0
谈谈架构师是何种生物
|
设计模式 开发框架 JSON
了解这些软件设计思想,你的思维至少上升一个段位
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念,四位作者合称 GOF(全拼 Gang of Four),简称四人帮!
|
新零售 供应链 架构师
「技术人生」第2篇:学会分析事物的本质
对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一。
4939 0
「技术人生」第2篇:学会分析事物的本质
|
存储 传感器 人工智能
从现实世界的角度去理解计算机领域的知识
​ “ 从现实世界的角度看计算机,可以帮助我们更清晰的学习计算机领域的知识。 本文试图用生活中常见的事物来解释计算机技术领域,让知识更通俗易懂 ”
871 0
 从现实世界的角度去理解计算机领域的知识
|
iOS开发
[译] 伟大设计与好设计之间区别是什么?这里告诉你真相
能否举一些伟大设计的例子?发表评论与我们一起分享吧。
1093 0