ABP vNext + HBase:打造超高吞吐分布式列式数据库

ABP vNext + HBase:打造超高吞吐分布式列式数据库 🚀🔥

  • 基于 ABP vNext 构建亿级写入、毫秒级查询的列式分布式存储
  • 支持 HTTP Basic/Bearer/Kerberos+SPNEGO 多种认证方式 🔐
  • 丰富的表达式 DSL、IAsyncEnumerable 扫描 & Scanner 生命周期管理 🔄
  • 行键防热点、列簇压缩、TTL、版本控制优化 🔑
  • 一键 Docker Compose 部署 🐳 + Kubernetes Secrets & 健康探针示例
  • OpenTelemetry 链路追踪 🔍、Prometheus 指标命名规范 & Grafana 仪表盘 📊
  • 单元测试(MockHttp)✅、集成测试(Testcontainers)🧪 & Phoenix SQL 层(可选)
  • 支持批量写入、限流背压、多租户隔离、TLS 证书 🌐


系统架构与场景定位 🧩

应用场景

  • 物联网设备时序上报
  • 行为日志大规模采集
  • 宽表用户画像写入
Server
Client
Application Service
HBase REST Proxy/Knox
HBase RegionServer
HDFS 存储
ZooKeeper
ABP vNext Web API

安全认证与连接注入 🔐

配置模型与验证

public class HBaseSettings
{
   
   
    [Required, Url] public string BaseUrl {
   
    get; set; } = null!;  
    [Required]      public string Table   {
   
    get; set; } = null!;  
    public string?     Username {
   
    get; set; }  
    public string?     Password {
   
    get; set; }  
    public string?     Token    {
   
    get; set; }  
}
// Program.cs / Startup.cs
services.AddOptions<HBaseSettings>()
    .BindConfiguration("HBaseSettings")
    .ValidateDataAnnotations()
    .Validate(o => !string.IsNullOrWhiteSpace(o.Username) 
                 || !string.IsNullOrWhiteSpace(o.Token),
              "必须配置 Username/Password 或 Token");

services.AddHttpClient<IHBaseClient, HBaseRestClient>("HBase", (sp, client) =>
{
   
   
    var opts = sp.GetRequiredService<IOptions<HBaseSettings>>().Value;
    client.BaseAddress = new Uri(opts.BaseUrl);
    if (!string.IsNullOrEmpty(opts.Token))
    {
   
   
        client.DefaultRequestHeaders.Authorization =
            new AuthenticationHeaderValue("Bearer", opts.Token);
    }
    else
    {
   
   
        var cred = Convert.ToBase64String(
            Encoding.UTF8.GetBytes($"{
     
     opts.Username}:{
     
     opts.Password}"));
        client.DefaultRequestHeaders.Authorization =
            new AuthenticationHeaderValue(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kookoos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值