0%

1. 基础命令

1.1 查看健康

1
2
3
4
5
6
7
8
# 查看健康
curl -XGET 'http://localhost:9200/_cat/health?v'

epoch     timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1675044251 02:04:11 elasticsearch yellow          1         1     83  83    0    0       69             0                  -                 54.6%

绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用.
阅读全文 »

磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。

阅读全文 »

1. 非锁定和锁定一致性读

1.1 非锁定一致性读(普通select,mvcc)

就是普通的 SELECT 语句(没有加锁后缀), innodb 不会加锁, 就算别人锁了你也可以读。

InnoDB存储引擎通过行多版本控制(multi versioning)的方式来读取当前执行时间数据库中行的数据。如果读取的行正在执行DELETE或UPDATE操作,这时读取操作不会因此去等待行上锁的释放。相反地,InnoDB存储引擎会去读取行的一个快照数据。

阅读全文 »

1. RBAC(角色)

目前,接受度较高的功能权限模型是RBAC(Role-Based Access Control)模型。模型中有几个关键的术语:

  • 用户:系统接口及访问的操作者
  • 角色:具有一类相同操作权限的用户的总称
  • 权限:能够访问某接口或者做某操作的授权资格
阅读全文 »

随着微服务的兴起,OAuth2也火了起来,由于其自身的优势,俨然已成为微服务API服务接口安全防护的首选。

阅读全文 »

1. Cache-Aside

旁路缓存模式,它的提出是为了尽可能地解决缓存与数据库的数据不一致问题。

读请求:

  1. 读的时候,先读缓存,缓存命中的话,直接返回数据
  2. 缓存没有命中的话,就去读数据库,从数据库取出数据,放入缓存后,同时返回响应。

写请求:

写的的时候,先更新数据库,然后再删除缓存。

阅读全文 »

说到文本搜索工具,大家一定会知道 grep, 它是 linux 最有用并最常用的工具之一。但如果在一个大的工程项目中搜索某个关键词,它会有些耗时。

如果有更好的替代工具, 最出名的应该是 Ack,Ag , 而现在一个新的替代者 Ripgrep, 简称rg, 比它们更快, 更省电.

阅读全文 »

1. 介绍

1.1 对称加密算法

  • DES:DES 全称 Data Encryption Standard,是一种使用密钥加密的块算法。现在认为是一种不安全的加密算法,因为现在已经有用穷举法攻破 DES 密码的报道了。

  • 3DES(或称为 Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次 DES 加密算法。由于计算机运算能力的增强,原版 DES 密码的密钥长度变得容易被暴力破解;3DES 即是设计用来提供一种相对简单的方法,即通过增加 DES 的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

  • AES 全称是 Advanced Encryption Standard,翻译过来是高级加密标准,它是用来替代之前的 DES 加密算法的。AES 加密算法的安全性要高于 DES 和 3DES,所以 AES 已经成为了主要的对称加密算法。+

  • 2000年代,DES逐渐被3DES替代。2010年代,3DES逐渐被更安全的高级加密标准(AES)替代。

阅读全文 »