CharlieLin's Blog

Whatever doesn't kill you simply makes you stranger.

Ubuntu 防火墙设置

环境 Ubuntu 18.04 操作 添加规则 sudo iptables -A INPUT -p tcp -m tcp -s 172.24.140.110/32 --dport 5010 -j DROP -p 协议 -A 增加规则 -m 匹配 -s 源 ip 段 --dport 目标端口号 -j 指定处理的动作,包括:ACCEPT、REJECT、DRO...

PAXOS 与 RAFT

BASIC PAXOS 角色 client: 客户端,系统之外的角色 Proposer:Client 代理人,接收 Client 的提案发送给 Acceptor Acceptor:投票者 Learner:记录员,记录投票结果 阶段 Prepare 确定提案号。 由 Proposer 发起 prepare 请求,发起一个全局单调自增的提案号 N 给 Acc...

利用 kube-vip 部署一个高可用的 Kubernetes 集群

Kubernetes 高可用部署(kube-vip) 节点规划 由于使用内部 etcd 集群(etcd 部署在 master 节点上),故需要奇数台 master 机器 role hostname ip vip   192.168.181.235 ...

HTTPS 学习

网络中的安全通信 对称加密 加密:$f(k, data) = X$ 解密:$f’(k, X) = data$ 服务端与客户端采用同一个密钥 k,服务端用 k 和函数 f 加密数据 data,得到密文 X;客户端在收到密文 X 后,使用对应的函数 f’ 和相同的密钥 k 解密 X,得到 data。 这种对称的加密方式应用在网络中有几个弊端: 如果 n 个客户端与服务端都使用相同的密钥 ...

数据库设计中的范式

什么是范式(NF) 课本中的规范定义,范式是「符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度」。而简单来说,它实际上是一张数据库表的表结构所符合的设计标准。就像电器的节能等级分为一级、二级、三级等,范式也分为 1NF,2NF,3NF,BCNF,4NF,5NF 等。 一般我们在考虑关系型数据库的设计时,最多考虑到 BCNF。当一个数据表的设计满足某一范式时,它一...

filebeat 与 logstash 聚合的高可用方案

filebeat 与 logstash 聚合的高可用方案 起因 在目前虚幻魔域的项目中,需要采集各个服务器上的所有日志(主要是登录日志),然后统一进行分析。 其中最主要的是玩家登录分析。在游戏逻辑中,一个登录分为若干个子过程,举个例子,玩家首先要打开客户端输入帐密,在登录服务器端产生一条 LoginAccountValidation 日志,校验成功后,再校验客户端版本,在登录服务器产生一条...

谓词下推

谓词下推 什么是谓词下推 所谓谓词(predicate),英文定义如下:A predicate is a function that returns bool (or something that can be implicitly converted to bool),也就是返回值为布尔类型的函数。在 SQL 语句中,没有函数(方法),只有表达式,where 后面的表达式就是起到了谓词的...

Parquet 列式存储

Parquet 列式存储 Parquet格式是什么 支持嵌套结构的列式存储格式 适用于 OLAP 场景,按列存储和扫描 特点 更高的压缩比。因为每个列都具有相同的数据结构(列的同构性),可以选择使用对该列最适合的压缩算法。 更小的 IO 操作。使用映射下推与谓词下推,跳过不满足条件的列,能减少不必要的数据扫描与 IO 代价。 映射下推,这是...

云游戏调研

云游戏调研 什么是云游戏 云游戏(又称“游戏点播”)是利用云技术让游戏软件的资料和运算都在网络内,使用者只要透过网络就可以直接点选进行游戏,而不需要透过其他的游戏机。 优势 降低云玩家和中轻度玩家的游戏门槛; 增强多人联机的支持,由云端同一进行渲染,避免本地渲染导致的状态同步难题; 消除各个设备的差异性。不仅仅是同一类型设备中高、中、低档的差异,更重要的是消除各个不同类型...

python 中的闭包与装饰器

python 中的闭包与装饰器 闭包 何为闭包 简单介绍一下闭包的概念。 首先是闭包的定义,摘自维基百科 在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是在支持头等函数的编程语言中实现词法绑定的一种技术。闭包在实现上是一个结构体,它存储了一个函数(通常是其入口地址)和一个关联的环境(相当于...