(精華)2020年7月20日 ASP.NET Core 分散式自增Id元件(解決自動分配機器Id、時間回撥問題)
使用
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>();
});
}
}
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;
}
備註:其他函式請移到類庫中去檢視,本人部落格裡都有。
相關文章
- (精華)2020年7月1日 ASP.NET Core 解決跨域問題(手寫版)ASP.NET跨域
- 分散式ID系列(3)——資料庫自增ID機制適合做分散式ID嗎分散式資料庫
- (精華)2020年9月17日 ASP.NET Core 中介軟體詳解ASP.NET
- (精華)2020年7月21日 ASP.NET Core 模型驗證過濾器ASP.NET模型過濾器
- 解決AndroidADT自帶Eclipse編輯器不能自動程式碼提示的問題。AndroidEclipse
- (精華)2020年7月20日 ASP.NET Core serilog日誌框架的使用ASP.NET框架
- (精華)2020年7月21日 ASP.NET Core 容器偽屬性注入ASP.NET
- Oracle使用觸發器實現ID自增的問題Oracle觸發器
- (精華)2020年7月20日 ASP.NET Core log4.net日誌框架的使用ASP.NET框架
- android回撥函式Android函式
- mysql的自增id的一個問題MySql
- Android定時關機問題解決Android
- 【Android Fragment】解決Fragment多層巢狀時onActivityResult無法正確回撥的問題AndroidFragment巢狀
- Android 微信分享後留在微信,沒有回撥的問題解決方案Android
- (精華)2020年7月1日 ASP.NET Core 使用Enablebuffering多次讀取bodyASP.NET
- oracle 時間欄位自動更新問題Oracle
- Android 通用的元件自動註冊、自動初始化解決方案Android元件
- Twitter的分散式自增ID演算法snowflake (Java版)分散式演算法Java
- (精華)2020年7月1日 ASP.NET Core Swagger的使用(Swashbuckle工具版)ASP.NETSwagger
- Android BLE & BluetoothGattCallback.onServicesDiscovered不回撥或部分回撥解決Android
- 用Promise建構函式來解決地獄回撥問題Promise函式
- 遮蔽ASP.NET按鈕自動回車後提交的問題ASP.NET
- (精華)2020年7月22日 ASP.NET Core Swagger的使用(NSwag工具版)ASP.NETSwagger
- (精華)2020年6月26日 C#類庫model IdInputDTOC#
- SecureCRT 超時自動斷開連線問題解決方法Securecrt
- [android]android自動化過程遇到的問題Android
- Android自動化測試解決方案Android
- (精華)2020年7月2日 ASP.NET Core Castle實現服務注入和AOP(工具版)ASP.NETAST
- (精華)2020年7月1日 ASP.NET Core 使用靜態檔案和目錄瀏覽ASP.NET
- Windows開機自動同步時間Windows
- 巧用CSS解決asp.net中Gridview邊框樣式問題CSSASP.NETView
- 解決ajax回撥window.open瀏覽器阻止彈窗問題瀏覽器
- (精華)2020年9月2日 .NET Core 命令列的基本使用命令列
- id 為非自增 模型取回為 0 的解決方案模型
- (精華)2020年8月18日 快取機制快取
- python redis 分散式鎖 自動超時PythonRedis分散式
- ASP.NET Core-自動對映ASP.NET
- (精華)2020年7月21日 ASP.NET Core 使用NewtonsoftJson替換掉預設的json序列化元件ASP.NETJSON元件