Searching We.Love.Privacy.Club

Twts matching #1:
Sort by: Newest, Oldest, Most Relevant

Go 分布式令牌桶限流 + 兜底策略
上篇文章提到固定时间窗口限流无法处理突然请求洪峰情况,本文讲述的令牌桶线路算法则可以比较好的处理此场景。

工作原理
  1. 单位时间按照一定速率匀速的生产 token 放入桶内,直到达到桶容量上限。
  2. 处理请求,每次尝试获取一个或多个令牌,如果拿到则处理请求,失败则拒绝请求。

Image

优缺点

优点

可以有效处理瞬间的突发流量,桶内存量 token 即可作为流量缓冲区平滑处理突发流量。

缺点

实现较为复杂。

代码实现

core/limit/tokenlimit.go

分布式环境下考虑使用 redis 作为桶和令牌的存储容器,采用 lua 脚本实现整个算法流程。

redis lua 脚本


<span class="c1">-- 每秒生成token数量即token生成速度</span>
<span class="kd">local</span> <span class="n">rate</span> <span cl ... ⌘ [Read more](https://gocn.vip/topics/20950)

⤋ Read More

Go 模糊测试

从 Go 1.18 版本开始,标准工具集开始支持模糊测试。

概述

模糊测试(Fuzzing)是一种自动化测试方法,通过不断地控制程序输入来发现程序错误�� … ⌘ Read more

⤋ Read More

hconfig 一个可插拔的 Golang 配置管理工具 支持(etcd/k8s(kubernetes)/apollo)

hconfig 一个可插拔的 Golang 配置管理工具 支持(etcd/k8s(kubernetes)/apollo) 什么是可插拔式程序
  • 一个统计的可插拔内核
  • 各个组件相互独立
可插拔式程序
  1. 在设计一个可插拔式程序时我们应该想到的是怎么把我们的需求给实现了,然后我们再搞一波抽象(统计的可插拔内核

不同的模块只要实现了� … ⌘ Read more

⤋ Read More

Switching to Purelymail
After long consideration, I have now moved email for all but my main domain (but that’s coming too) to Purelymail. Email without bullshit. And with the “Advanced billing mode” they really only charge by usage or $10 per year with the “Simple billing”, but even with Advanced that shouldn’t be much more than $1 per month for me. ⌘ Read more

⤋ Read More

Switching to Purelymail
After long consideration, I have now moved email for all but my main domain (but that’s coming too) to Purelymail. Email without bullshit. And with the “Advanced billing mode” they really only charge by usage or $10 with the “Simple billing”, but that shouldn’t be much more than $1 per month for me. What I like most is that there is no unnecessary limit on the number of users, aliases or custom domains. 👍 ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire 4.5.6 is released
Openfire 4.5.6 has been released, that addresses an annoying issue that was affecting the earlier 4.5.5 release. We’ve updated the bundled log4j library to version 2.17.1 for good measure.

The changelog denotes the two Jira issues closed by this release. You can find Openfire build artifacts available for download [here](https://github.com/igniterealtime/Openfire/rel … ⌘ Read more

⤋ Read More

GoCN 每日新闻(2022-01-04)

GoCN 每日新闻(2022-01-04)
  1. 「GoCN 酷 Go 推荐」go 语言位操作库 — bitsethttps://mp.weixin.qq.com/s/UcuKgKnt4fwrg3c-UHc3sw
  2. Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据https://mp.weixin.qq.com/s/7ATm_Zu7ib9MXf8ugy3RcA
  3. 优化 Go 二进制文件的大小[https://prog.world/optimizing-the-size-of-the-go-binary](https://prog.world/optimizing-the-si … ⌘ Read more

⤋ Read More

What’s new in dubbo-go-pixiu 0.4.0
Dubbo-go-pixiu 是一款高性能 API 网关,支持 Dubbo 和 Http 等多种协议。具体介绍文章可以参考 《Dubbo 跨语言调用神兽:dubbo-go-pixiu》

近期社区发布了 0.4.0 版本,具体请查看 v0.4.0。相关改进实在太多,本文只列出相关重大 feature、bugfix 、 性能提升项。

1 动态从 Spring Cloud 和 Dubbo 注册中心拉取路由和集群配置数据

Pixiu 原本依赖本� … ⌘ Read more

⤋ Read More

潘娟:Keep open,Stay tuned 开源为我打开的全新世界 | TiDB Hackathon 2021 评委访谈
距离 2022.1.8-9 比赛日,已不到两周时间,想必各位参赛选手已经摩拳擦掌,开始准备自己的项目了。\
在等待最终比赛日的这段时间,TiDB 社区采访了本届 Hackathon 中的一位女性评委,她在数据库领域中耕耘多年,从 DBA 到创业者,具有着传奇色彩的人生经历。\
我们通过访谈记录了她对开源的理解与感悟,同时探讨 Hackathon 活动的� … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire 4.6.7 released (Log4j 2.17.1 only change)
Openfire 4.6.7 has been released with only a single change to bump the bundled log4j library to version 2.17.1. Whilst we do not believe Openfire to be vulnerable to the CVEs associated with the log4j 2.17.0 and 2.17.1 releases, we realize that many folks are running naive security scanners that are simply checking for bundled jar versions.

The [changelog](https://download.igniterealtime.org/open … ⌘ Read more

⤋ Read More

Bundling templates with embed #embed #howto href=”https://we.loveprivacy.club/search?q=%23assets”>#assets**
If you’ve been embedding assets  or templates with rakyll/statik, markbates/pkger or any other bundler, you will probably want to convert to the new embed package brought by Go 1.16 to replace them all. This article, following one about pkger, explains how, going through the exact same steps to make converting easier. 1 points posted by FGM ⌘ Read more

⤋ Read More

GinAdmin 后台管理模板

GinAdmin

这个项目是以 Gin 框架为基础搭建的后台管理平台,虽然很多人都认为 go 是用来开发高性能服务端项目的,但是也难免有要做 web 管理端的需求,总不能再使用别的语言来开发吧。所以整合出了 GinAdmin 项目,请大家多提意见指正!欢迎 star ⭐⭐

Image

Image

依赖
  • golang > 1.8
  • Gin
  • BootStrap
  • LayUi
  • WebUpload
  • [Light Year Admin Using Ifra … ⌘ Read more

⤋ Read More

go 语言位操作库 bitset
bitset库 实现了 bitsets 数据结构,这是一种正整数和布尔值映射关系的结构,它比 map[uint]bool 更高效

什么是 bitsets

bitsets 基本思想是用一个 bit 位来标记某个元素对应的 Value,每一位表示一个数,1 表示存在,0 表示不存在
比如我要表示 1, 3, 7 这 3 个数

  1. 构造一个空白 bitsets:00000000
  2. 每位代表的值如下:76543210
  3. 想要表示的值标记 1:10001010
有什么好处?

�� … ⌘ Read more

⤋ Read More