跳转至

2023

云的数据考虑

云服务的搭建需要将许多数据特性考虑在内。简单列举如下:

  • 物理特性
  • 性能要求
  • 易变性
  • 容量
  • 监管要求
  • 事务边界
  • 保存期限

所有这些数据需求都会对如何存储底层数据造成决策影响。我们必须做出两个关键性的决策:

  1. 单租户还是多租户
  2. 使用何种数据存储格式:SQL、NoSQL、文件等

云服务模式(SaaS、PaaS、IaaS)

有3种云服务模式:软件即服务(SaaS)、平台即服务(PaaS),以及基础设施即服务(IaaS)。每种云服务模式都通过某种程度上的资源抽象,来减低消费者构建和部署系统的复杂性。

Developing and publishing modules

你可以收集相关的包放到自己的模块中,推送到远程仓库方便其他开发者使用。这篇文章介绍了如何开发和推送模块。

关于非侵入式架构

在工作中,很多项目并不像我们学习时所遇到的那样,不论是大型项目还是小型项目,它们都有同样令人头疼的问题——技术债务。

我们不能逃避,但是需求不会等着我们把这些问题解决之后再继续跟进。我们需要更加优雅的解决方案,这就是非侵入式架构,其在自动化运维领域很受欢迎。

在 Go 中实现非侵入式架构的关键是通过接口和组合来实现松耦合。以下是一些实现非侵入式架构的技巧:

关于 Go 反射

在 Go 中,reflect 是一个内置的包,它提供了一组用于运行时反射的方法和类型。使用反射可以在运行时动态地获取和操作**变量的值、类型和方法**。reflect 的主要作用是实现通用代码,例如 JSON 序列化和反序列化、类型转换、结构体拷贝等。

C10K 问题:单机一万并发

Dan Kegel 在他的个人网站中发表了一篇讨论单机并发的问题,简称 C10K 问题

文章中提及了当时的问题背景,以及可供参考的网站1和文章2。关于这个问题文中主要对 I/O 架构和 I/O 策略进行了讨论。