分类 computer science 计算机科学 下的文章

bjmayor发布于2021-08-31

运维管理工具fabric详解

运维管理工具fabric详解

[TOC]

前言

运维管理工具有fabric,ansible等等。
本节讲下fabric,最开始接触是在廖雪峰的文章里。他用fabric做的运程部署。
这里打算详细了解下。
官网点击这里。

阅读全文»

bjmayor发布于2021-08-30

go-zero 限流下

go-zero 如何扛住流量冲击(二)

[TOC]

上一篇介绍的是 go-zero 中滑动窗口限流,本篇介绍另外一个 tokenlimit ,令牌桶限流。

阅读全文»

bjmayor发布于2021-08-30

go-zero 限流上

go-zero 如何扛住流量冲击(一)

[TOC]

不管是在单体服务中还是在微服务中,开发者为前端提供的API接口都是有访问上限的,当访问频率或者并发量超过其承受范围时候,我们就必须考虑限流来保证接口的可用性或者降级可用性。即接口也需要安装上保险丝,以防止非预期的请求对系统压力过大而引起的系统瘫痪。

go-zero 集成了开箱即用的 限流器 。其中内置了两种限流器,也对应两类使用场景:

种类 原理 场景
periodlimit 单位时间限制访问次数 需要强行限制数据的传输速率
tokenlimit 令牌桶限流 限制数据的平均传输速率,同时允许某种程度的突发传输

本文就来介绍一下 periodlimit

阅读全文»

bjmayor发布于2021-08-30

雪花算法

雪花算法

[TOC]

唯一ID生成器snowflake

很多场景需要使用全局唯一ID,用来标识唯一一条消息,唯一一笔交易,唯一一个用户,唯一一张图片等等。
传统数据库表的自增主键是很简单的一种实现方式,前提是你没有分库,也没有分表,如果你分表了,id就会重复,失去唯一性:
imagepng

阅读全文»

bjmayor发布于2021-08-30

哈夫曼编码

[TOC]

哈夫曼编码,为压缩而生。另有翻译为赫夫曼。

概念

哈夫曼树

哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1L1+W2L2+W3L3+…+WnLn),N个权值Wi(i=1,2,…n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,…n)。可以证明哈夫曼树的WPL是最小的。

阅读全文»

bjmayor发布于2021-08-29

区块链技术细节:哈希算法

区块链技术细节:哈希算法

本文来自《极客时间》,左耳听风 付费专栏。只有部分内容,我个人感觉讲的通俗易懂,摘抄下来慢慢品,更有意思的其实是评论内容,想看完整内容的请自行前往购买。

对于计算机来说,区块链就像一个单向链表,一个数据块中保存着三个信息。

  • 真正的数据。
  • 自己的地址(或是 ID)。
  • 前一个数据块的地址。

这样,通过追溯前一个块的地址,把所有的数据块存成了一条链。所以,我们叫其 BlockChain。如下图所示。

阅读全文»