4.1.4 规划、设计的艺术(技术)流派和常用技法(上)

2023-11-06

最后更新2021/08/25

  • 超写实
人工->脚本->批处理->微服务->公有云->公共IT基础设施    代表作品:Daniel Heilig手机拍照作品,腾讯云,阿里云,amazon,azure
              |
              +->综合网管->私有云   代表产品:冷军《小姜》,HANA,Exadata,iSeries

Daniel Heilig手机作品
图片引自:https://www.sohu.com/a/437592302_375507
手机作品冷军《小姜》
图片引自:http://collection.sina.com.cn/auction/pcdt/2019-11-18/doc-iihnzahi1636529.shtml
小姜

  • 写意,精简抽象

齐白石《虾》
虾
图片引自:https://baijiahao.baidu.com/s?id=1602679190287159348&wfr=spider&for=pc

对应的设计策略是专业化产品:Redis,MongoDB,ElasticSearch,MQ,硬件Firewall,专用VPN设备等等。

在业务最初始阶段,设计师都是在摸索中前行,此时的设计主导是快、简、全。用最简单实现,用最快速的时间,完成最全面的功能覆盖,以进行市场试探,如果最终取得好结果,通过循环迭代,一代一代发展,逐渐把简单的功能完善,全面覆盖的模块进行修建,符合市场期待的功能增强,不符合市场或者自己做不出特色的功能裁剪掉,用别人在此方面做得好的产品替换掉。最终自己产品在特定应用场景垄断特定的功能。

不同的主导思路导致最终不同的产品。同样,不同的主导思路产生不同的设计结果。有钱,大款,想一劳永益(当然不可能有绝对永益,只是后续麻烦相对少些,注意相对二字)的设计方案是多采购硬件化、集成化、单一厂商来源的整包产品,甚至将管理服务也打包在采购之中。给钱多最大的优点并非设计好,实现强,功能佳,而是顶得起缸,背得动锅。有道是IT是玄学,想不宕机要拜佛,机柜里挂耶稣十字蒙难,机柜上摆佛祖笑口常开,朝麦加标记方位,各方人马都不能亏待。

预算(何止)不充裕,喜欢自己动手丰衣足食(又无需我动手)的方案则是”软“实现为主,自己拼拼凑凑,防火墙,软的,firewalld;数据库,软的,结构化、非结构化搞两个;中间件,软的,开源闭源一起上;搞高可用,容灾,手工切换不香么?2千里外找俩人关小黑屋,每天快递一盘6T磁带过去,专门手动恢复数据,人工做回滚,需要切换就拔插网线,一年几千块钱搞定的事情,还要啥裸光纤波分复用存储复制?什么,人员工资?专门招当地偏远山区进城来的码农,俩人一组,换班回家乡工作一年,包吃住,招10个人足够天天写流程,干5年了。5年之后,IT技术都翻盘了,换人比换机器容易多了!但是,删库跑路咋办?篡改数据咋办?关键时刻不顶用,撂挑子咋办?我也不知道咋办,这些是管理风险,设计之前,先把丑话说前面。

  • 降维封装。这个方案是把设计系统分为一个一个独立的黑盒子,对外只有输入、输出,并保持不变。好处是能够在实现同样功能的不同实现之间自由替换,可以更灵活。而坏处是往往找不到严格按照自己要求(已成公共标准)实现的产品,那就要自己做warp一类的包装程序或者功能,自己做集成整合,无论工作量,可靠性,可维护性都很差。对于以前只有商业软件存在的时代,设计者不得不委曲求全,商业软件、硬件往往没那么灵活,而且自身就是事实上的黑箱,想要拿来就用是不可能的,除非改变自己已有体系去配合商业产品。在现在开源时代,事情逐渐往好的方向发展,即使很多厂商自己开发的技术,也以开放标准的形式免费供大家使用,即使竞争对手厂商也会采用同样的标准。降维主要面对多厂商、多组件整合的情况。

  • 升维补偿。有降维,把一个个子系统变为黑盒子,也有升维,把全部系统整体变为一个黑盒子。与降维方案对比,升维目标以效率优先,同时”相信“系统能做得很好,故障、失败、错误是极少数情况。例如,如果降维实现,则操作的每一步都要考虑错误恢复,否则就需要前序、后续环节有相应的补偿措施,做不到透明实现。升维实现则是把所有的补偿、恢复、确认放到最初始和最结束点,只要终审,中间过程一概忽略。这样做中间组件的功能压力最小,可以全速工作,最简化任务处理,但是缺点是故障侦测,错误恢复,可恢复的数据都会变得很差,技术上称为数据恢复颗粒度太大,如果系统本身经常出现故障,那么还坚持这种设计就是灾难设计者,无异于抱薪救火。

  • 算法导论。任何计算机专业毕业的人都学过的,拿过来就用好了,不要想着很稀奇古怪的算法去解决问题,首先没必要,我们能遇到的大部分,甚至所有的问题都可以归纳到最基本的那几类,解决问题方案也差不多就是那些,足够了;其次是想一想午餐的价钱。不免费。四轮马车比两轮马车好,几乎毫无悬念:两轮需要马匹负重,载重量有限,四轮可以无视负重问题,拉力摩檫力不够,多加挽马就行了。而两轮,辕马负重能力决定了车的最大承载力。那么,为什么中国古代5000年没研究出4轮马车?还要近代从欧洲引入?因为四轮并非完美无缺阿!反而是缺点多多,特别是在中国当时经济、技术条件限制之下,反而两轮是最佳的。举例来说:中国的蒙古马普遍矮小,单匹拉力(摩檫力)不够,车辆重载,需要多匹马一起拉,并不能提升马的效率。四轮马车前后转向需要有差速装置,否则车轮,轮轴磨损严重,加工精度要求更高,无法单独用木材实现,需要有足够的铁器加工精度才可以,中国相关技术到明末才有提高,很多还都是外来的。中国尽管平原不少,但更多的是丘陵,道路崎岖,从秦朝开始修官道,直到清末其实大部分道路还都是土路,而且距离超长,在这种路上,四轮车越野能力远远不如两轮。欧洲的四轮多用于港口到城镇内货运,道路都是石头等硬质路面,距离近,平整,要求重载(欧洲马很高大,载重能力一匹顶4匹)。大部分时候,不要嘲笑别人傻,自己作为一个阅历不深的设计师,架构师,先听听,看看事实到底如何。没有选择、试探过你所谓聪明的方案的原因是:选择这种方案的人早就被淘汰掉,棺材板都烂了。

反过来说,如果想解决什么现实问题,在不考虑综合结果,特别是搞个差不多的,不完美的方案,只想做临时修补的前提下,例如缺点数据,某些时候性能不好,设备故障不能断点重做等等,”悄悄“引用一些简单的算法,就可以解决99%的需求,惊艳一下。

我会回来的!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4.1.4 规划、设计的艺术(技术)流派和常用技法(上) 的相关文章

  • CAN 帧简介

    1 数据帧 数据帧的构成 下图中的D为显性电平 R为隐性电平 数据帧是由7个段构成 其各个段的含义如下 1 帧起始 表示数据帧开始的帧 SOF由1位显性位组成 2 仲裁段 表示该帧优先级的段 标准数据帧与扩展数据帧在此段不同 标准数据帧的仲

随机推荐

  • 爬取csdn的个人博客

    爬取csdn的个人博客 全文构思 本文使用账号密码进行登录 所用到的环境安装 sudo pip3 install selenium sudo pip3 install pyperclip 除此之外使用了chrome的浏览器 需要下载驱动 自
  • 俩个数组对比去重

    俩个数组去重 键值对类型的 var arr id 1 value 1 id 2 value 2 id 3 value 3 var arr1 id 1 value 1 id 4 value 4 id 5 value 5 带键值对的用 for
  • 时间序列预测算法

    图片参考博客 时间序列 时间序列预测算法总结 https zhuanlan zhihu com p 421710621 ARIMA Holt Winters Prophet算法 Facebook时间序列预测算法Prophet的研究 http
  • 微信小程序扫描普通二维码跳转到小程序指定页面

    这个功能的逻辑是什么呢 二维码就相当于是一个链接 相当于我们点击一个链接跳转到另一个页面 只不过这里是扫码的形式 如何操作 1 首先我们需要在微信公众平台的开发管理 gt 开发设置 找到 扫普通链接二维码打开小程序 点击添加 会出现下面的页
  • SpringMvc框架详解

    目录 1 概念 2 作用 3 原理 4 使用Springmvc框架 4 1创建一个maven web工程 并替换web xml文件的内容 4 2引入springmvn所依赖的jar包 4 3将DpatcherServlet注册到配置文件中
  • vue 脚手架新手入门(vue cli 3)

    文章目录 1 vue中的 绑定和 监听 1 1 v model 双向绑定 2 if else for 3 computed 计算属性 4 生命周期 属性加载顺序 5 watch 侦听器 6 components 组件 6 1 props 从
  • 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)

    如果对你有帮助 可以给卑微的博主留个赞 关注 收藏 不是 骗一下数据 说不定以后面试就过了 拜谢 好像有读者说现在不要积分的资源也要vip才能下 如果下不了可以留邮箱到评论区或者私聊 我也把资源放到github了 地址如下 https gi
  • 【华为OD机试】拔河比赛(C++ Python Java)2023 B卷

    题目描述 公司最近准备进行拔河比赛 需要在全部员工中进行挑选 选拔的规则如下 按照身高优先 体重次优先的方式准备比赛阵容 规定参赛的队伍派出10名选手 请实现一个选拔队员的小程序 输入为一个数组 记录了部门人员的身高 体重信息 如 身高 体
  • Unity的Time.deltaTime

    当我们在编写游戏或交互应用程序时 需要控制元素的动画 运动和其他基于时间的计算 Unity游戏引擎中的Time deltaTime属性可以帮助我们实现这样的效果 这个属性提供了两个连续帧之间的时间间隔 以便我们可以根据每帧之间的持续时间来调
  • jpg解码库移植过程详解

    1 jpg解码库的源码获取 1 可以从网站下载 http www photopost com jpegsrc v6b tar gz 2 我下面的移植过程是根据jpegsrc v6b tar gz版本的jpg解码库移植的 如果是其他版本的jp
  • maven 命令建分支步骤以及注意事项

    一 在svn创建对应的目录 branches gt 分支目录 tags gt 标签目录 当前线上项目对应的版本 trunk gt 主干目录 二 运行项目中的所有的测试用例 无报错 后 三 检查pom父级pom xml文件是否有以下配置 如无
  • JAVA字符集

    1 概述 本文主要包括以下几个方面 编码基本知识 java 系统软件 url 工具软件等 在下面的描述中 将以 中文 两个字为例 经查表可以知道其GB2312编码是 d6d0 cec4 Unicode编码为 4e2d 6587 UTF编码就
  • vue2.0 + vux (六)NewsList 资讯页 及 NewsDetail 资讯详情页

    设置代理 避免出现跨域问题 设置代理 避免出现跨域问题 proxyTable api target https www oschina net action apiv2 changeOrigin true pathRewrite api a
  • 给你一个id你会干嘛?

    信息收集 1 扫描端口 Nmap xxx xxx xxx xxx p 目录扫描 ip地址访问 操作系统 robots txt http 192 168 5 134 xxe 抓包进行判断存在xxe漏洞 查看etc passwd 查看admin
  • File类总结

    文章目录 File类 构造方法 创建功能 删除功能 重命名功能 判断功能 基本获取功能 高级获取功能 代码示例 判断D盘下面有没有 jpg后的文件 如果有 就输出此文件名称 文件名称过滤器的实现思想及代码 File类 构造方法 public
  • C++学习 1

    引入头文件 头文件写法 引入头文件 用户自己写的头文件 lt gt 标准库 include
  • else if 非return情况下必须有else

    return 的另一种理解 if update return insert if 之后 进去 return 到不了下面 不满足 到下面 相反 即 有了return 等于else 以上 即update insert只有一个会执行 相当于els
  • 字节设备注册的驱动开发(基于汇编语言)

    CSDN话题挑战赛第1期 活动详情地址 第1期话题PK赛 参赛话题 汇编知识分享 话题描述 我们的计算机知识就像一座金字塔 底层是数学 上面是数字电路 然后是汇编 再往上是操作系统 网络 数据库 高级编程语言 框架等等 我们不可能精通这个金
  • HTML语义标签和结构标签详解

    文章目录 实体标签 meta标签 语义化标签 结构化语义化标签 列表标签 在学习标签时我们应该注意的是他的语义 而不是他的显示效果 因为显示效果是在css中进行编写的 我们一定要做到分工明确清晰 实体标签 在网页中编写代码时 我们有时会使用
  • 4.1.4 规划、设计的艺术(技术)流派和常用技法(上)

    最后更新2021 08 25 超写实 人工 gt 脚本 gt 批处理 gt 微服务 gt 公有云 gt 公共IT基础设施 代表作品 Daniel Heilig手机拍照作品 腾讯云 阿里云 amazon azure gt 综合网管 gt 私有