让我们把CAP定理放到古董柜里

2024-07-25

本文认为,对于构建云风格分布式系统和云上应用程序的工程师来说,CAP 定理几乎无关紧要。在云架构中,可以使用负载均衡器和路由机制将客户端引导到应用程序的健康副本,从而在大多数网络分区情况下提供强一致性和高可用性。CAP 定理更适用于在间歇性连接环境中设计和构建系统的工程师,例如物联网、环境监测和移动应用程序。

阅读更多
未分类 CAP 定理

滑雪板会变钝吗?

2024-07-08

文章作者通过观察滑雪板边缘的微观形貌,发现滑雪板在使用后,边缘会因为与冰雪摩擦而出现磨损,变得圆滑甚至出现缺口,从而影响滑雪体验。作者认为,定期打磨滑雪板边缘可以去除磨损痕迹,保持滑雪板的锋利,提升滑雪的安全性及乐趣。

阅读更多

形式化方法:只是优秀的工程实践?

2024-06-24

软件工程领域中,形式化方法常常被认为成本高昂且难以实施。但作者认为,对于大型、分布式或关键的底层系统,形式化方法能够通过减少设计迭代和返工,以及尽早发现接口问题,从而提高软件开发速度和效率,最终节省时间和金钱。文章还讨论了敏捷开发和形式化方法之间的关系,指出这两种方法适用于不同类型的软件开发。最后,作者列举了一些常用的形式化方法工具,并强调了形式化方法在设计阶段的价值,认为它可以帮助开发者更快地构建更优化的系统。

阅读更多
未分类 形式化方法

使用线程让程序变慢

2024-06-07

文章讲述了作者通过多线程优化程序,却导致程序运行速度变慢的经历。作者通过分析发现,程序中使用了共享的随机数生成器,导致线程间频繁进行上下文切换和锁竞争,从而降低了程序性能。最终,作者通过使用线程安全的随机数生成器解决了问题,并强调了在多线程编程中需要注意避免共享状态和锁竞争。

阅读更多
未分类 上下文切换

不仅仅是规模

2024-06-05

这篇博客文章反驳了“你不需要分布式系统”的观点,认为现代计算机虽然强大,但分布式系统不仅仅是关于规模,还有可用性、持久性、利用率、延迟、隔离和变更管理等方面的优势。作者认为,简单性是系统的属性,而不仅仅是组件的属性,分布式系统可以通过利用冗余和隔离来实现更高的可用性和更简单的变更管理。此外,作者还强调了组织规模的重要性,以及避免过度协调的必要性,并将API视为减少人为协调的有效工具。

阅读更多
未分类

TCP_NODELAY:现代分布式系统必备

2024-05-10

本文探讨了TCP_NODELAY在现代分布式系统中的重要性。作者指出,Nagle算法的初衷是为了解决上世纪80年代网络带宽有限的问题,但对于当今高性能的服务器和数据中心网络来说,Nagle算法带来的延迟弊大于利。作者建议在构建对延迟敏感的分布式系统时,始终启用TCP_NODELAY,并认为这应该是默认设置。

阅读更多
未分类 TCP