调试 Go 协程泄漏
在开始调试协程泄漏之前,让我简要介绍一些基础知识,这些知识将为您提供更广阔的问题视角。并发编程。* 并发编程处理程序的并发执行,其中多个顺序执行流同时运行,从而导致计算执行更快。* 它有助于更好地利用多核
阅读更多...在开始调试协程泄漏之前,让我简要介绍一些基础知识,这些知识将为您提供更广阔的问题视角。并发编程。* 并发编程处理程序的并发执行,其中多个顺序执行流同时运行,从而导致计算执行更快。* 它有助于更好地利用多核
阅读更多...minio/dsync [https://github.com/minio/dsync] 是一个用于在 n 个节点网络上进行分布式锁定的包。它旨在简化,并提供有限的可扩展性 (n <= 16)。每个节点都连接到所有其他节点,任何节点的锁定请求都将广播到所有连接的节点。一个节点将成功获取
阅读更多...64 位 ARMv8 内核引入了新的指令,用于作为加密扩展 [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0501f/CHDFJBCJ.html] 的 SHA1 和 SHA2 加速。我们 MinIO [https://minio.io/] 对这些指令可能带来的差异感到好奇,事实证明,这是更令人愉快的
阅读更多...在这篇博客文章中,我们想介绍一个优化的实现,blake2b-simd [https://github.com/minio/blake2b-simd],它使用纯 Go 为 BLAKE2 [https://blake2.net/] 哈希算法实现,利用 SIMD 指令。它比(非汇编)Go 实现快 4 倍,并且可以在
阅读更多...在我之前的一篇博文中 [https://blog.minio.io/object-storage-what-is-it-all-about-62920ca164ca#.bcz4d4nnd],我们了解了对象存储的为什么和是什么。具体来说,我们了解了为什么需要新的存储范式以及它如何解决现代非结构化数据问题。我们看到了对象存储如何让您通过 HTTP(s) 上的简单 API 调用在应用程序层访问对象
阅读更多...微服务的基本要求之一是应用程序容器变为无状态。但是,状态仍然需要存储在其他地方,例如数据库、对象存储、会话文件、cookie、缓存等。微存储正在成为一种新的架构,以解决微服务的存储可扩展性问题。微存储继承了微服务的理念,即“只有小事物才能扩展”。向上扩展不是
阅读更多...