Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >优劣重要,还是标准重要No.186

优劣重要,还是标准重要No.186

作者头像
大蕉
发布于 2020-04-21 08:27:26
发布于 2020-04-21 08:27:26
5230
举报

社区还是公司里,经常会有人讨论,A实践比B实践好。比如下面这样的讨论。

A:我用 Go+Go-xorm+Grpc+Gorouting 搭建框架,开发效率非常高,真的超好我跟你讲。balabala

B:我用 Spring

A:我跟你讲,SVN 的代码一致性最好,所有人的代码都是一样的,真的超好我跟你讲。balabala

B:我用 Git

A:我跟你讲,我用 JMI 协议和Dubbo协议,用得超舒服我跟你讲。balabala

B:我用 Grpc

于是就引发了一个问题,究竟某一些技术在某一些场景某些团队里面,孰优孰劣,经常是争得死去活来。孰优孰劣,真的那么重要吗?在一个集体里面,永远使用最佳的实践,与大家尽量使用一个统一但是可能没那么好的实践,哪个更有利于团队?

我们都知道技术栈统一的重要性,如果一些人总是急着自己造轮子,每个人都搞出一套自以为是最佳实践的套路,这样对于团队来说是好是坏?我觉得某种程度上来说,是一件好事,可以让团队里的人提高自己的见识,知道在自己的做法之外其实还有其他做法,也在实现着一样的目标。但是如果团队的其他人并不认可这种新的做法,那又怎么办呢?

我的答案是,在大规模协作里,统一比优劣重要。

我们都知道 HTTP 协议存在着大量的问题,比如显而易见的安全问题。

通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改

如果我创造了一种新协议,叫 dajiao.HTTP 协议,在 http 的基础上解决了上面的问题,可以说我的协议比 http 更加优秀,全世界人民,都应该使用这个协议吗?显然是不可能的。你还觉得优劣比统一重要吗?

众所周知,HTTP 协议被诟病的还有 head 很重的问题,如果在超大规模集群里,我需要压缩每个请求的量,我自己创造了一种 mini.dajiao.http,整个请求的网络传输量只有 HTTP 的 10%,可以说我的协议比 HTTP 更加优秀,大家都用我这个协议吗?显然,在一定程度的团队内是可行的,但是要推广到全世界,抱歉,你还得付出比你预想要更加巨大的代价。

还是回到 mini.dajiao.http 的问题,在一定程度的团队内,在工具不完善的情况下,所有人跟你的系统交互,都要理解你第一个字节代表什么,第二个字节代表什么,要背诵下来,每次对接都要小心翼翼,对接一个接口可能需要花掉2个工程师10天的工作。在这个场景下,你还觉得你的协议比较好使吗?

我理解每一种方案都有它适应的地方,单纯讨论孰优孰劣,意义其实仅仅在于学术讨论阶段。到了大规模协作实战层面,谁能把一种方案做到大规模统一,就算它比其他方案要差一点点,必然是做了某些 trade-off,只要是统一的,就是好的。

因为毕竟,只要统一了,就可以投入更多更多的精力,对它进行重点优化了,会出现很多的周边工具,出现很多的配套设施,出现更加完善的文档,出现更加完善的兼容性设计。到最后,未必比你以为的好方案,表现更差。

一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝。扁担的设计就是一个人一组效率最高,标准做法就是一个人挑两桶水,非要来个人说,两个人挑那就是 1/2,一百个人挑每个人就是 1/100,更省力了,必然更好。

你品,你细品。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名叫大蕉的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[享学Netflix] 三十七、源生Ribbon介绍 --- 客户端负载均衡器
代码下载地址:https://github.com/f641385712/netflix-learning
YourBatman
2020/03/18
2.6K0
分布式存储与数据库选型问答整理分享
近日,有关存储系统选型的问题在微信群里讨论的火热,CSDN在这里稍微将各位专家的问答总结了一下,分享给大家。 文章内容来源大数据基础设施微信群,参与讨论的专家有中国科学院软件研究所工程师,C3核心成员李明宇,国防科学技术大学教授,CCF大数据专家委员会委员李东升,云人科技联合创始人兼CEO吴朱华,Memblaze技术顾问刘爱贵等等。 以下是问答实录: Q:有一个场景:每天有近百GB数据增加,数据内容有WORD文档和图像等多种类型。用什么存储或文件系统比较合适? A: HDFS、HBase、Hive不太适合存
CSDN技术头条
2018/02/08
1.7K0
分布式系统中的必备良药 —— RPC
  在上一篇分布式系统系列中《分布式系统中的必备良药 —— 服务治理》中阐述了服务治理的一些概念,那么与服务治理配套的必然会涉及到RPC框架。在当前互联网的大背景下,RPC的运用应该大家或多或少都有涉及,国内外的RPC框架也是百花齐放。那么各个RPC框架各自有什么特点,另外RPC的核心点又是哪些,我们该如何去选择是本文需要讲述的内容。本文会围绕.Net技术栈来展开,暂不讨论诸如dubbo之类对.Net 不太友好的框架。
Zachary_ZF
2018/09/10
7690
分布式系统中的必备良药 —— RPC
精彩分享 | 欢乐游戏 Istio 云原生服务网格三年实践思考
吴连火,腾讯游戏专家开发工程师,负责欢乐游戏大规模分布式服务器架构。有十余年微服务架构经验,擅长分布式系统领域,有丰富的高性能高可用实践经验,目前正带领团队完成云原生技术栈的全面转型。 导语 欢乐游戏这边对 Istio 服务网格的引进,自 2019 开始,从调研到规模化落地,至今也已近三年。本文对实践过程做了一些思考总结,期望能给对网格感兴趣的同学们以参考。 在正文开始之前,先明确一下本文所说的服务网格(service mesh)概念 —— 基于 sidecar 通信代理,网状拓扑的后端架构级解决方案。目前
腾讯云原生
2022/05/13
8340
精彩分享 | 欢乐游戏 Istio 云原生服务网格三年实践思考
给你一群顶尖AI,如何组队才能发挥最大战力?UIUC用一个新的多智能体协作基准寻找答案
朱昆仑是伊利诺伊大学香槟分校(UIUC)计算机科学系的研究生,现隶属于Ulab与Blender Lab,曾在斯坦福大学、卡内基梅隆大学(CMU)与蒙特利尔学习算法研究所(Mila)进行学术访问。他的研究方向包括大语言模型(LLM)智能体、多智能体系统、AI科学家与工具学习等,在ICML、ICLR、ACL、TMLR等顶级会议与期刊发表论文10余篇,总引用超过1500次。 他积极参与多个广泛影响的开源项目,包括 OpenManus(RL)、ChatDev(MACNET)、ToolBench 等,累计在 GitHub 上获得超过 5万+ stars。此外,他曾受邀在 AMD 开发者大会、阿里巴巴云栖大会等重要学术与工业会议中作报告,分享其在AI智能体方面的开源成果。
机器之心
2025/07/10
1140
给你一群顶尖AI,如何组队才能发挥最大战力?UIUC用一个新的多智能体协作基准寻找答案
程序员修神之路--为什么我会了SOA,你们还要逼我学微服务?
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。它是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能。
心莱科技雪雁
2019/11/21
4740
程序员修神之路--为什么我会了SOA,你们还要逼我学微服务?
机器学习的平台化发展趋势
机器学习在经过近些年的野蛮生长之后,其有效性已经被无数成功应用所验证,在这一点上已经不需要更多证明。
玄姐谈AGI
2018/07/03
3.6K3
【CSDN AI 周刊】第11期 | 周志华提出深度森林 引发持续热议
---- 资讯 ---- 2017奥斯卡大奖揭晓,群集智能AI成功预测12项 http://dwz.cn/5rf3AV 2017年2月27日,第89界奥斯卡诸项大奖名单新鲜出炉,《月光男孩》战胜呼声甚高的《爱乐之城》拿下最佳影片。大奖公布之前,著名的群体智能预测网站的Swarm AI再出手预测,今年它虽然保持着75%的胜率,但是却预测错了两项大奖。 Swarm AI 的平台由 Unanimous 公司开发。Unanimous A.I 的研究员集合了近50名电影爱好者群集,来预测2月27日奥
用户1737318
2018/06/06
6580
主干大仓也能toB,腾讯云小微不留质量后路的实战总结
就是在一个大循环之间,在用户反馈之前,我们内部先进行非常多的小迭代,这些小迭代通过以下行动项来保证用户得到是一个比以前更加稳定的产品
陈云
2021/09/06
2K0
作为UX设计师应当知道的22件事
这篇大实话文章,我非常喜欢,因为几乎大部分观点和内容在我带新人,或是讲课过程中,都有提及过。与其说这是一篇写给新设计师的职场准则,我更愿意说是写个所有设计师的,“有则改之,无则加勉”,谁还怕自己变得更完善呢?所以这篇不是简单的翻译,我在文中也加入我的想法,有些案例会改成更接地气儿的。要感谢作者 Alana,组织的这么井井有条,我得以偷懒,来借花献佛。
宇相
2018/08/06
3440
作为UX设计师应当知道的22件事
如何快速成长为技术大牛?
不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。
Java团长
2018/08/03
6610
Dubbo 和 HSF 在阿里巴巴的实践:携手走向下一代云原生微服务
作者 |郭浩 审校 |钰莹 Dubbo 和 HSF 都是阿里巴巴目前在使用的微服务 RPC 框架。HSF 在阿里巴巴使用更多,承接了内部从单体应用到微服务的架构演进,支撑了阿里历年双十一的平稳运行;Dubbo 则在 2011 年开源后,迅速成为业界广受欢迎的微服务框架产品,在国内外均有着广泛应用。 自 2008 年 5 月发布第一个版本 1.1 后,经历数年迭代,HSF 从一个基础的 RPC 框架逐渐演变成为日支撑十万亿级别调用的易于扩展的微服务框架。内部场景中,用户既可以选择少量配置轻松接入微服务体系,获
深度学习与Python
2023/04/01
1.7K0
Dubbo 和 HSF 在阿里巴巴的实践:携手走向下一代云原生微服务
微服务 2.0 技术栈选型手册
2014年可以认为是微服务1.0的元年,当年有几个标志性事件,一是Martin Fowler在其博客上发表了“Microservices”一文,正式提出微服务架构风格;二是Netflix微服务架构经过多年大规模生产验证,最终抽象落地形成一整套开源的微服务基础组件,统称NetflixOSS,Netflix的成功经验开始被业界认可并推崇;三是Pivotal将NetflixOSS开源微服务组件集成到其Spring体系,推出Spring Cloud微服务开发技术栈。
芋道源码
2019/05/09
2K1
微服务 2.0 技术栈选型手册
微服务2.0技术栈选型手册
一晃三年过去,微服务技术生态又发生了巨大变化,容器,PaaS,Cloud Native,gRPC,ServiceMesh,Serverless等新技术新理念你方唱罢我登场,不知不觉我们又来到了微服务2.0时代。基于近年在微服务基础架构方面的实战经验和平时的学习积累,我想总结并提出一些构建微服务2.0技术栈的选型思路,供各位在一线实战的架构师、工程师参考借鉴。对于一些暂时还没有成熟开源产品的微服务支撑模块,我也会给出一些定制自研的设计思路。
纯洁的微笑
2018/12/07
2K0
微服务2.0技术栈选型手册
腾讯数据中心冷源系统AI调优的应用与实践
摘要 2022年11月9日-10日,第十届数据中心标准峰会在北京隆重召开,峰会以“汇聚双碳科技 夯实数据之基”为主题。腾讯数据中心高级架构师李鼎谦在本次峰会上以《数据中心冷源系统AI调优的应用与实践》为题发表云端演讲,现将精彩内容整理如下,供数据中心广大从业者学习交流。 以下为演讲实录 尊敬的各位嘉宾、同行,大家下午好!我是来自腾讯数据中心的李鼎谦。今天与大家分享腾讯数据中心在AI调优规模化应用中的一些实践经验和总结,也希望我们在一线项目上踩过的坑、排过的雷能给到大家有用的启发和思考。 AI商用化逐渐成熟
腾讯数据中心
2022/12/13
3K0
腾讯数据中心冷源系统AI调优的应用与实践
常用协议对比及 RPC 协议新形态探索
协议是 RPC 的基础。数据在连接上以什么格式传输,服务端如何确定收到请求的大小,同一个连接上能不能同时存在多个请求,请求如果出错了应该怎么响应……这些都是需要协议解决的问题。
乐事
2021/06/25
1.7K0
RPC vs REST vs GraphQL
最近2周的时间由于工作不忙,一直在看有关GraphQL的东西,前后端均有涉及,由于我之前做过后端开发,当时实现的接口的大体是符合RPC风格的接口。后来转做了前端开发,从实现接口者变成了调用接口者,接触最多的当属REST风格的接口。因此在这段学习GraphQL的过程中,并且也尝试使用它以全栈的角度做了一个小项目,在这个过程中,一直在思考它对比前两者在API设计的整体架构体系中的各个指标上,孰优孰劣。
littlelyon
2018/10/19
2K0
RPC vs REST vs GraphQL
解读ChatOps:开源聊天机器人怎样协助运维?
ChatOps通常是指依靠群组聊天室进行管理运维工作的一种。在ChatOps领域,我是一个新人,通过学习与运用,再回过头来看,对GitHub、Apple这样的一些先行者更是崇拜。 在现在这个概念为王的
yuanyi928
2018/04/02
2.5K0
解读ChatOps:开源聊天机器人怎样协助运维?
一文读懂分库分表的技术演进(最佳实践)
以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿级数据,只是这时候性能比较差,业界公认MySQL单表容量在1KW以下是最佳状态,因为这时它的BTREE索引树高在3~5之间。
芋道源码
2019/06/21
8770
一文读懂分库分表的技术演进(最佳实践)
展望中间件的 2022:更加云原生化,寻求标准化
中间件涉及的范围比较广泛,包含开发框架、注册中心、API 网关、配置中心、分布式事务和分布式消息等组件。
深度学习与Python
2022/03/23
7990
推荐阅读
相关推荐
[享学Netflix] 三十七、源生Ribbon介绍 --- 客户端负载均衡器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档