登录 注册
其他
923
Stars
—
Forks
0
Watchers
—
Open Issues
待补全
许可证
Elixir
语言
—
创建时间
最近更新

项目能做什么

支持可插拔后端的 Elixir 速率限制器(Rate-limiter)。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Hammer

[![Build Status](https://github.com/ExHammer/hammer/actions/workflows/ci.yml/badge.svg)](https://github.com/ExHammer/hammer/actions/workflows/ci.yml)
[![Hex.pm](https://img.shields.io/hexpm/v/hammer.svg)](https://hex.pm/packages/hammer)
[![Documentation](https://img.shields.io/badge/documentation-gray)](https://hexdocs.pm/hammer)
[![Total Download](https://img.shields.io/hexpm/dt/hammer.svg)](https://hex.pm/packages/hammer)
[![License](https://img.shields.io/hexpm/l/hammer.svg)](https://github.com/ExHammer/hammer/blob/master/LICENSE.md)

**Hammer** is a rate-limiter for Elixir with pluggable storage backends. Hammer enables users to set limits on actions performed within specified time intervals, applying per-user or global limits on API requests, file uploads, and more.

## Installation

Hammer is [available in Hex](https://hex.pm/packages/hammer). Install by adding `:hammer` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:hammer, "~> 7.0"}
  ]
end
```

### Installing with Igniter

If you use [Igniter](https://hexdocs.pm/igniter), a single command adds the dependency, generates a
`MyApp.RateLimit` module and adds it to your application's supervision tree:

```sh
mix igniter.install hammer
```

Pass `--backend atomic` or `--backend redis` to pick a backend other than the default `:ets`.
The `redis` option also adds the [`hammer_backend_redis`](https://hex.pm/packages/hammer_backend_redis)
dependency. If Hammer is already in your project, run `mix hammer.install` directly.

Hammer has no global configuration: each limit is defined where it is checked, with
`MyApp.RateLimit.hit(key, scale, limit)`. See the [Tutorial](https://hexdocs.pm/hammer/tutorial.html)
for how to compose keys and use the limiter as a plug.

## Available Backends

Atomic backends are single-node rate limiting but will be the fastest option.

- [Hammer.ETS](https://hexdocs.pm/hammer/Hammer.ETS.html) (default, can be [distributed](./guides/distributed-ets.md))
- [Hammer.Atomic](https://hexdocs.pm/hammer/Hammer.Atomic.html)
- [Hammer.Redis](https://github.com/ExHammer/hammer-backend-redis)
- [Hammer.Mnesia](https://github.com/ExHammer/hammer-backend-mnesia)

## Available Algorithms:

Each backend supports multiple algorithms. Not all of them are available for all backends. The following table shows which algorithms are available for which backends.

| Algorithm | Backend |
| --------- | ------- |
| [Hammer.Atomic.FixWindow](https://hexdocs.pm/hammer/Hammer.Atomic.FixWindow.html) | [Hammer.Atomic](https://hexdocs.pm/hammer/Hammer.Atomic.html) |
| [Hammer.Atomic.FixWindowPerKey](https://hexdocs.pm/hammer/Hammer.Atomic.FixWindowPerKey.html) | [Hammer.Atomic](https://hexdocs.pm/hammer/Hammer.Atomic.html) |
| [Hammer.Atomic.LeakyBucket](https://hexdocs.pm/hammer/Hammer.Atomic.LeakyBucket.html) | [Hammer.Atomic](https://hexdocs.pm/hammer/Hammer.Atomic.html) |
| [Hammer.Atomic.TokenBucket](https://hexdocs.pm/hammer/Hammer.Atomic.TokenBucket.html) | [
阅读完整原文

项目深度分析 AI 生成

Hammer Dashboard (Phoenix LiveView 实时监控与动态配置控制台)

产品构想模仿 Oban Web 商业化模式,为 Hammer 开发闭源/商业授权的 LiveView 扩展面板,提供实时监控与动态限流规则热调整。
核心功能实时限流/命中率图表可视化、动态修改每 Key 限流阈值与时间窗口(无需重启应用)、封禁/白名单即时生效管理、限流事件审计与告警通知。
目标用户采用 Elixir/Phoenix 的中小型企业团队、SaaS 创始人、DevOps 工程师。
难度/周期中等 · 1 - 2 个月 · 成本:开发机器与文档托管,几近零成本
收费模式单一项目商业许可证 / 企业终身授权(参考 Oban Web 按席位或实例定价)
竞争风险Elixir 开发者总体体量偏小,客群天花板相对有限;部分团队可能自行开发简易管理界面。
依据 已验证事实

Hammer Metering (API 配额管理与 Stripe 计量计费集成插件)

产品构想基于 Hammer 的限流算法扩展出面向商业 API 的用量计量与配额系统,自动对接计费平台。
核心功能阶梯式月度/日度 Token 与请求计量、超额自动降级/阻断、Stripe 按量计费(Metered Billing)自动同步、租户配额账单报表导出。
目标用户构建 API 优先(API-first)产品的 Elixir 创业团队、微服务提供商。
难度/周期中等 · 2 - 3 个月 · 成本:极低(测试用 Stripe 账户与云服务器)
收费模式核心代码双重许可(AGPL + 商业许可)或提供按月订阅的企业版扩展包
竞争风险涉及财务账单计量,对数据强一致性与容错要求极高,存在对齐误差带来的客诉风险。
依据 尚需验证的假设

Hammer Shield (企业级防爬虫与自适应威胁阻断模块)

产品构想在基础限流之上提供高级安全能力,结合行为分析与 IP 威胁库,实现自适应限流防御。
核心功能自适应滑动窗口限制、异常行为(如凭证撞库)自动加权惩罚、IP 信誉库联动自动拉黑、分布式节点(Redis/Mnesia)状态快速广播。
目标用户面向公网、遭受撞库或恶意爬取的 Elixir 电商平台、金融工具及内容平台企业。
难度/周期高 · 3 - 4 个月 · 成本:IP 威胁情报库数据源接入成本、压测与集群测试服务器费用
收费模式按企业节点规模的年度订阅服务,并附带安全配置咨询与 SLA 支持
竞争风险Cloudflare 等边缘 CDN 层已解决大部分基础防刷需求,应用层安全模块易被替代。
依据 AI推测
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

相似项目数据正在完善中,暂不展示(避免误导)

项目优势与风险

技术成熟度创建时间待补全,最近推送
社区活跃Star 923 / Fork 0 / Issue 0(数据支持,可自行核实)
许可证未检测到(需人工确认)
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。