Comments (5)
Maybe consul ?
from clickhouse_sinker.
@ArtemChekunov Unfortunately consul is unavailable in our product.
from clickhouse_sinker.
We can abstract the interface of configs, like IConfig
, HttpConfig
, LocalConfig
, NacosConfig
from clickhouse_sinker.
This issue can be combined with #84 .
I suggest following Config structure which all clickhouse_sinker instances share(fetched from Nacos, Consul, ZK etc.):
type Config struct {
Kafka map[string]*KafkaConfig
Clickhouse map[string]*ClickHouseConfig
Tasks []*TaskConfig
Common struct {
FlushInterval int
BufferSize int
MinBufferSize int
MsgSizeHint int
ConcurrentParsers int
LayoutDate string
LayoutDateTime string
LayoutDateTime64 string
LogLevel string
}
Assigns map[string][]string //map instance_name to a list of task_name
}
Each instance can run multiple tasks.
Each task can be assigned to multiple instances. Each task declares how many instances it needs.
The coordinator
- The coordinator (ckman, another project) provides API and/or webui to add/delete/modify tasks.
- The coordinator watches (do
service discovery
) instance startup/disappear events, and assign tasks to instances (dopublish config
).
The schedule platform
The schedule platform(or maybe manually, outside my concern) start some clickhouse_sinker instances and start another one if a instance fail.
clickhouse_sinker
- Every clickhouse_sinker instance register itself to a service manager (Nacos, Consul, ZK etc.).
- clickhouse_sinker watches (do
get config
) cofig, compare its assignment with the current one, apply changes. - clickhouse_sinker shall try to recover a task in endless loop if the task fail. This ensures the tasks run on an instance match the coordinator assigned.
from clickhouse_sinker.
Implemented with #86.
from clickhouse_sinker.
Related Issues (20)
- Find replacement for https://github.com/pkg/errors
- How can I new multi task in on clickhouse_sinker HOT 2
- investigate bitmap 64 https://github.com/outcaste-io/sroar HOT 1
- 【Help】clickhouse_sinker auto stop when I config tasks, It run well when config single task. HOT 1
- bug nacos服务注册 无法正常消费 HOT 8
- 没有平衡的写入数据 HOT 2
- 一个sinker程序,只能拥有一个task吗? HOT 1
- 启动失败,说无此类登入,很好奇,出现的表也不是任务中的表 HOT 2
- Evaluate sonic parser
- [bug]分布式表配置检查错误 HOT 1
- Contact from ClickHouse HOT 2
- partition xx quit idle or partition xx became idle HOT 1
- 日志按时间滚动? HOT 2
- 使用sarama客户端鉴权问题 HOT 1
- clickhouse_sinker_parsing_pool_backlog 如何配置? HOT 3
- [help] 每次处理的message 批次大小不一? HOT 1
- 依赖版本找不到 HOT 1
- Build image
- Support for IPv4 and IPv6 types
- json parse using bytedance/sonic HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clickhouse_sinker.