(精华)2020年7月20日 ASP.NET Core 分布式自增Id组件(解决自动分配机器Id、时间回拨问题)

举报
愚公搬代码 发表于 2021/10/18 23:47:41 2021/10/18
【摘要】 使用 namespace CORE.WEBERP { public class Program { public static void Main(string[] ar...

使用

namespace CORE.WEBERP
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseIdHelper()//
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

Zookeeper版本和普通版本
1:安装并配置JAVA环境(Zookeeper需要用JAVA) 教程:连接

2:安装并启动Zookeeper,教程:链接

3:Nuget安装包:IdHelper.Zookeeper

/// <summary>
/// 使用IdHelper
/// </summary>
/// <param name="hostBuilder">建造者</param>
/// <returns></returns>
public static IHostBuilder UseIdHelper(this IHostBuilder hostBuilder)
{
    hostBuilder.ConfigureServices((buidler, services) =>
    {
        new IdHelperBootstrapper()
            //设置WorkerId
            .SetWorkderId(buidler.Configuration["WorkerId"].ToLong())
            //使用Zookeeper
            //.UseZookeeper("127.0.0.1:2181", 200, GlobalSwitch.ProjectName)
            .Boot();
        Console.WriteLine($"WorkerId:{IdHelper.WorkerId},Id:{IdHelper.GetId()}");
    });

    return hostBuilder;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

备注:其他函数请移到类库中去查看,本人博客里都有。

文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。

原文链接:codeboy.blog.csdn.net/article/details/107460144

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。