基于Guava的RateLimiter设计常用接口限流功能

  |  

什么是Guava

Guava是一组核心库,包括新的集合类型(例如multimap和multiset),不可变集合,图形库,函数类型,内存缓存以及用于并发,I / O,散列,基元的API /实用程序,反射,字符串处理等等!

本示例只使用了Guava工具包的RateLimiter类,进行API的限流。
限流简介:
限流中的“流”字该如何解读呢?要限制的指标到底是什么?不同的场景对“流”的定义也是不同的,可以是网络流量,带宽,每秒处理的事务数 (TPS),每秒请求数 (hits per second),并发请求数,甚至还可能是业务上的某个指标,比如用户在某段时间内允许的最多请求短信验证码次数。

基于 Redis 实现分布式锁

  |  

什么是Redis?

Redis通常被称为数据结构服务器。这意味着Redis通过一组命令提供对可变数据结构的访问,这些命令使用带有TCP套接字和简单协议的服务器 - 客户端模型发送。因此,不同的进程可以以共享方式查询和修改相同的数据结构。

Redis中实现的数据结构有一些特殊属性:

Redis关心将它们存储在磁盘上,即使它们总是被提供并修改到服务器内存中。这意味着Redis速度很快,但这也是非易失性的。
数据结构的实现强调内存效率,因此与使用高级编程语言建模的相同数据结构相比,Redis内部的数据结构可能使用更少的内存。
Redis提供了许多在数据库中自然可以找到的功能,如复制,可调节的持久性级别,群集,高可用性。
另一个很好的例子是将Redis视为memcached的更复杂版本,其中操作不仅仅是SET和GET,而是用于处理复杂数据类型(如Lists,Sets,有序数据结构等)的操作。

使用Docker安装Jenkins并添加插件

  |  

Jenkins使用记录

利用docker安装Jenkins

拉取jenkins镜像
docker pull jenkins
挂载目录到宿主机,例如使用/var/jenkins_home,需要给目录设置访问权限

chown -R 1000 /var/jenkins_home
启动。 使用 root 账号进行登录,暴露端口 8080,tcp 端口50000

1
docker run -u root -itd --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins
作者共写了53.1k个字 本站总访问量  |   您是访问本站的第个小伙伴