我是一个预备役码农,这是我新做的的一个小项目。把每天阅读很多的文章,选出一些值得思考的内容做推荐。针对每篇文章我会写一小段中文简评,督促自己认真阅读的同时也给同为码农的你一些参考。
我觉得码农才能知道码农的需要,而我作为被老师誉为“全干工程师”预备役码农,方方面面都会有所涉猎。
今天是全干工程师阅读分享的第一期,这里会记录我看到的值得分享的文章,期待和你一起进步!阅读本期所有文章需35分钟。
今天的三个文章背后共同的主题是选型和决策。工程师的任务就是在现实的约束下去求解问题,很多时候我们学习的教条式的知识让我们总忍不住去找最佳实践,而忽略了工程师的本职。
我以为科学家的要义是在理想条件下寻找极限,工程师的任务是在现实条件下寻求平衡。为什么这个问题对于科学家和工程师来讲一样重要。
01
MySQL在GitHub的高可用性
架构设计的主要目的是为了解决软件系统复杂度带来的问题。复杂度的主要来源包括高性能,高扩展和高可用以及成本安全等方面的考虑。
本文阐述了GitHub的MySQL高可用性和主服务发现解决方案,这个方案使得我们能够可靠地进行跨数据中心运维、克服数据中心隔离的影响并实现故障时的短宕机时间。
现实的案例的演进过程可以让我们学习到每个决策背后的原因,而不是一味的为了高大上而去设计架构,做到有据可依。
原链:
https://githubengineering.com/mysql-high-availability-at-github/约15分钟读完
02
JSON不是一门好的配置语言?
优劣之争总是一个很有意思的话题。本文的角度不是一般的语言框架的问题,而是一个通用的配置文件的组织结构。
任何一个方案都要放在一个具体的场景下去讨论才有意义,json作为一种通用数据交换格式无疑是非常有效率的,也几乎成为了restful设计的事实通信标准。
但是,在作为配置文件的角度来说它却不是那么完美。作者分析了json的一些缺点后也给出了推荐的解决方案,虽然我们不是每个人都有机会构建自己的框架或者库,但是这些理由在我们日后决策之时必然可以提示一些思考的方向。
原链:
https://www.lucidchart.com/techblog/2018/07/16/why-json-isnt-a-good-configuration-language/约8分钟读完
03
Vue和React大比拼
前端圈内的争斗从未休止,在做技术选型之时总是一个逃不开的话题。
vue的官方文档中也附带了一篇与其他框架对比的文章。这一篇文章相对来说比较客观和全面,集中讨论vue与react的异同(angular已经不在讨论范围了么??版本更新大家hold不住了吧)。
每个框架设计要解决的主要问题不尽相同,解决问题相同时候使用的策略也不相同,这就决定了他们场景的差异,一味支持谁终将变成黑粉。码农到工程师的进化应该主要体现在能结合现实场景去考虑问题吧。
原链:
领取专属 10元无门槛券
私享最新 技术干货