
...大约 1 分钟
——「」
可扩展性
不出现单点故障
无状态:无状态的服务才能满足部分机器宕机不影响全部,可以随时进行扩展的需求
CAP 理论
Base 理论
CORS( Cross-Origin Resource Sharing )跨域资源共享:CORS是一种机制,依赖于浏览器的安全策略,通常为了防止恶意网站从另一个域请求资源,从而保护数据的安全
原理:通过HTTP头来允许或者拒绝某个请求
特点
1.请求头
`Origin`: 标识请求的来源域。
`Access-Control-Request-Method`: 在预检请求中,表明实际请求所使用的方法。
`Access-Control-Request-Headers`: 在预检请求中,表明实际请求所使用的自定义头。
2.响应头 (Response Headers):
`Access-Control-Allow-Origin`: 指定允许访问资源的源。可以是具体的域,也可以是通配符 *(表示允许所有域)。
`Access-Control-Allow-Methods`: 指定允许的 HTTP 方法,如 GET, POST, PUT, DELETE 等。
`Access-Control-Allow-Headers`: 指定允许的请求头,如 Content-Type, Authorization 等。
`Access-Control-Allow-Credentials`: 指定是否允许发送 Cookie 等凭据。值为 true 表示允许。
`Access-Control-Expose-Headers`: 指定哪些头可以公开给客户端。
`Access-Control-Max-Age`: 指定浏览器在发出预检请求之前可以缓存该响应的秒数。
非对称加密是HTTPS通信的第一步,用于安全地交换加密密钥。它使用一对公钥和私钥:
在HTTPS握手阶段,服务器将公钥发送给客户端,客户端会生成一个用于通信的密钥,并用这个公钥加密通信密钥,然后将加密后的密钥发送回服务器。由于只有服务器有对应的私钥,因此只有服务器可以解密这个密钥。
GORM 是 Go 语言中一个功能强大且流行的 ORM(对象关系映射)库。它帮助开发者更轻松地在 Go 语言中与数据库进行交互,提供了与数据库交互的抽象层,使得开发者可以使用 Go 语言的结构体来进行数据库操作,而不必直接编写 SQL 语句。
gin.Engine
是 Gin 框架中最重要的结构体,主要提供了以下功能:
gin.New()
和 gin.Default()
延迟队列是指把当前要做的事情,往后推迟一段时间再做。延迟队列的常见的使用场景有以下几种:
redis是用有序集合的方式来实现延迟消息队列的,有序集合有一个Score属性可以储存延迟的时间
工作原理:使用zadd score1 value1 命令可以一直往内存中生产消息。再利用zrangebyscore查询符合条件的所有待处理的任务,通过循环执行队列任务即可