dbproxy-id生成器
2018-01-25 23:47
155 查看
id生成器使用的是snowflake, 需要执行 snowflake_init(region_id, worker_id); 而region_id和worker_id是在配置文件中配置的
network_mysqld_proxy_plugin_apply_config
位置plugins/proxy/proxy-plugin.c
network_mysqld_proxy_plugin_apply_config
位置plugins/proxy/proxy-plugin.c
int network_mysqld_proxy_plugin_apply_config(chassis *chas, chassis_plugin_config *oldconfig) { ... int region_id = 0; int worker_id = 0; gboolean is_complete = FALSE; gchar *id_generate = g_strdup(config->id_generate); if ( (region_id = strtoll(strsep(&id_generate, ":"), NULL, 10)) != NULL) { g_log_dbproxy(g_message, "##### is %s", id_generate); if ( (worker_id = strtoll(strsep(&id_generate, ":"), NULL, 10)) != NULL) { is_complete = TRUE; } } if (is_complete) { snowflake_init(region_id, worker_id); g_log_dbproxy(g_message, "id_generate is %s, region_id is %d, worker_id is %d", config->id_generate, region_id, worker_id); } else { g_log_dbproxy(g_critical, "id_generate is %s, region_id is %d, worker_id is %d", config->id_generate, region_id, worker_id); } ... }
相关文章推荐
- 分布式ID生成器(来源:架构师之路,2017-06-25 58沈剑 架构师之路)
- 编写一个springboot start 类型的分布式全局id生成器
- 一个完整的ID生成器,并极大地降低了并发重复的概率,转换成十六进制 时间戳
- 基于 Redis 的全局唯一性ID生成器的一些实现思路
- 分布式唯一id生成器的想法
- 分布式ID生成器 zz
- 分布式唯一ID生成器Twitter 的 Snowflake idworker java版本
- hibernate id生成器配置
- ID生成器
- hibernate id生成器
- 业务系统需要什么样的ID生成器
- 互联网ID生成器方案
- hibernate中id生成器详解
- ID生成器详解
- Hibernate的ID的标识符生成器
- Hibernate之自定义ID生成器
- Mysql ID生成器
- 基于redis的分布式ID生成器
- 分布式ID生成器
- 分布式id生成器