PingCAP CTO 黄东旭:如何做出让人爱不释手的基础软件( 九 )


另外对于分布式系统来说 , 配置的问题更加复杂 , 因为存在并不是本地配置和全局配置的区别 , 以及更新后的配置分发的问题 , 包括滚动重启的问题(重启进程才能让配置生效本身就不是一个好设计) , 老实说目前我还没有特别好的方案 , 可能的思路是是使用类似etcd这样的分布式全局配置中心或者(对于数据库来说)通过一些全局的配置表来实现 。 但是总体的原则是:集中比分散好;即时生效比重启生效好;统一交互(修改和读取配置的方式)比多种方式交互好 。
14、写在最后
终于写得差不多了 , 但是这篇文章我觉得仅仅是抛砖引玉 , 一定还有很多好的实践没有总结出来 , 也希望有想法朋友找我一起探讨 , 我揭晓一下最开篇留下的一个悬念 , 为什么要在第一篇文章中将可观测性和可交互性放在一起写 , 其实这个是来自经典的认知心理学中的人行动的模型[3]:
PingCAP CTO 黄东旭:如何做出让人爱不释手的基础软件
文章图片
当用户使用软件时 , 需要面对的两个鸿沟:一个是执行的鸿沟 , 在这里 , 用户要弄清楚如何操作 , 与软件「对话」;另一个是评估的鸿沟 , 用户要弄清楚操作的结果 。 我们作为设计师的使命就是帮助用户消除这两个鸿沟 , 正是对应到文章中的可观测性和可交互性 。
设计出使用起来令人愉悦的软件是一门艺术 , 也不见的比设计出一个精妙的算法或者健壮的程序简单 , 从某种意义上来说更加难 , 因为这要求设计者真的要有对人和软件两者都有深入的理解以及倾注感情 , 最后送给大家一段来自SteveJobs的话共勉:
Thedesignisnotjustwhatitlookslikeandfeelslike.Thedesignishowitworks.
参考:
[1]我眼中的分布式系统可观测性,黄东旭,2020
[2]OvertaxedWorkingMemoryKnockstheBrainOutofSync|QuantaMagazine
PingCAP CTO 黄东旭:如何做出让人爱不释手的基础软件】[3]TheDesignofEverydayThings,DonaldNorman,1988