5 个版本 (1 个稳定版本)
1.0.0 | 2022年10月2日 |
---|---|
0.9.1 | 2022年1月12日 |
0.9.0 | 2021年10月29日 |
0.8.1 | 2021年9月15日 |
0.8.0 | 2021年9月15日 |
#226 in 电子邮件
35KB
580 行
检查电子邮件是否存在 GRPC
此 crate 是围绕 check-if-email-exists 的 HTTP 版本的封装。它暴露了 Grpc API 而不是 Rest。
如果您正在寻找电子邮件验证的 SaaS 解决方案,请检查原始创建者创建的 Reacher。
为什么要使用这个版本?
- 为了享受 Grpc 性能相对于 Http 在微服务架构中的优势
- 通过使用 Redis 缓存来进一步提高性能。如果在短时间内对同一电子邮件进行多次验证,这将是很有用的
- 您需要在您的管道中对电子邮件验证进行可观察性和审计跟踪。此 crate 使用跟踪来实现这一点
如何运行
Docker 容器
这里有一个 docker 镜像 链接。它支持与可执行文件相同的环境变量。
如果您使用 Docker 作为容器运行时,则可能希望使用 --init
选项将信号传递给进程。
Kubernetes
查看此存储库中的 helm 图表
可执行文件
为此,您需要使用 cargo build
构建应用程序
如何连接客户端
使用自动生成的 grpc 客户端(无需 Rust!)
proto
文件已发布在 Buf 模式注册表 中。然后您可以使用 Buf 在您选择的语言中生成代码。只需按照 文档 操作即可
Rust
此 crate 在模块 proto::v0::service_client
中导出一个 grpc 客户端
如何配置
有多个环境变量
BIND_ADDRESS | 描述 | 默认值 |
---|---|---|
REDIS_HOST | Redis IP | 127.0.0.1 |
REDIS_PORT | Redis 端口 | 6379 |
REDIS_DB | 连接到的 Redis 数据库 | 0 |
REDIS_USERNAME | Redis 用户名 | "" |
REDIS_PASSWORD | Redis 密码 | "" |
CACHE_EXP_SECONDS | 每个验证输出在 Redis 中存储多长时间(以秒为单位) | 86400 |
RUST_LOG | 日志级别 | check_if_email_exists_grpc=info |
许可证
本项目根据check-if-email-exists的许可要求,采用AGPL-3.0,或 Affero通用公共许可证,版本3发布。
依赖项
~23–42MB
~631K SLoC