0%

前言

限流概述

在开发高并发系统时可以用三把利器来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统处理的容量,是抗高并发流量的 “银弹”;而降级是当服务出现问题或者影响到核心流程时,需要暂时将其屏蔽掉,待高峰过去之后或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询等,因此需要有一种手段来限制这些场景的并发 / 请求量,即限流。限流的目的是通过对并发访问 / 请求进行限速或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页或友好的展示页)、排队或等待(比如秒杀、评论、下单等场景)、降级(返回兜底数据或默认数据)。主流的中间件都会有单机限流框架,一般支持两种限流模式:控制速率和控制并发。Spring Cloud Zuul 通过第三方扩展 spring-cloud-zuul-ratelimit 也可以支持限流,而 Spring Cloud Gateway 的限流实现可以看这里。常见的限流算法有漏桶和令牌桶,计数器也可以进行粗暴限流实现。对于限流算法,可以参考 Guava 中的 RateLimiter、Bucket4jRateLimitJ 等项目的具体实现。

Bucket4j 介绍

Bucket4j 是基于令牌桶算法的 Java 限流库,它主要用在 3 种场景:

  • 限制比较重工作的速率
  • 限制对 API 的访问速率
  • 将限流作为定时器,例如有些场景限制你对服务提供方的调用速度,因此使用限流器作为定时器,定时按照约定速率调用服务提供方
阅读全文 »

前言

Next 8.x 原生的暗黑模式

Next 8.x 主题已经原生支持暗黑模式,只需要在 Next 的 _config.yml 配置文件中,将相应的开关打开即可(如下所示):

1
darkmode: true

Next 8.x 主题原生暗黑模式的优缺点:

  • 优点:
    • 配置非常简单
  • 缺点:
    • 缺少切换按钮,默认是根据系统偏好(系统是否处于暗黑模式)来决定是否启用
阅读全文 »

前言

教程目标

构建集成了 Privoxy、Tor、ExpressVPN、SpeedTest 服务的 Docker 镜像,支持使用 SpeedTest 测试 ExpressVPN 的连接速度。Docker 镜像构建成功后,可以利用 Privoxy 与 Tor 在 ExpressVPN 的基础上,实现普通代理与匿名代理服务。

项目地址

阅读全文 »

前言

版本说明

本文使用的各软件版本如下所示,教程内容虽然会持续更新,但一切内容以 Waline 官方文档为准。

软件版本描述
linuxCentOS 7.9
docker20.10.5
mysql5.7.26
node14.16.1
hexo5.4.0
hexo-cli4.2.0
next8.5.0
waline-admin0.8.14
waline-client1.2.4
阅读全文 »

前言

官方教程

镜像数据卷目录

目录用途
/home/git/repositories 存储实际的 Git 仓库
/etc/ssh 存储 SSH 主机密钥

Docker 安装 Gitolite

这里直接使用国外开发者构建好的 Docker 镜像 elsdoerfer/gitolite,不再通过手写 Dockerfile 来构建 Gitolite,具体使用方法如下:

1
2
# 拉取镜像
# docker pull elsdoerfer/gitolite:latest

前言

继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并构建起强大的生态。但是随着用户深入使用,逐渐暴露一些性能问题,因此启动了 Nacos 2.0 的隔代产品设计,时隔半年终于将其全部实现,实测性能提升 10 倍,相信能满足所有用户的性能需求。

Nacos 简介

Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它孵化于阿里巴巴,成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。

nacos-upgrade

阅读全文 »

前言

软件环境

软件版本安装方式
CentOS 7.93.10.0-1160.15.2.el7.x86_64 虚拟机
Dockerdocker-19.03.9 二进制安装包
Kubernetes1.19 二进制安装包
Etcd3.4.9 二进制安装包
阅读全文 »