正在显示
5 个修改的文件
包含
45 行增加
和
6 行删除
| @@ -24,7 +24,8 @@ Processors: | @@ -24,7 +24,8 @@ Processors: | ||
| 24 | Brokers: | 24 | Brokers: |
| 25 | - "172.16.186.16:19092" | 25 | - "172.16.186.16:19092" |
| 26 | - "172.16.186.17:19092" | 26 | - "172.16.186.17:19092" |
| 27 | - Topic: k8slog | 27 | + Topics: |
| 28 | + - k8slog | ||
| 28 | Group: pro | 29 | Group: pro |
| 29 | NumProducers: 16 | 30 | NumProducers: 16 |
| 30 | Filters: | 31 | Filters: |
| @@ -24,7 +24,8 @@ Processors: | @@ -24,7 +24,8 @@ Processors: | ||
| 24 | Brokers: | 24 | Brokers: |
| 25 | - "172.16.186.16:19092" | 25 | - "172.16.186.16:19092" |
| 26 | - "172.16.186.17:19092" | 26 | - "172.16.186.17:19092" |
| 27 | - Topic: k8slog | 27 | + Topics: |
| 28 | + - k8slog | ||
| 28 | Group: pro | 29 | Group: pro |
| 29 | NumProducers: 16 | 30 | NumProducers: 16 |
| 30 | Filters: | 31 | Filters: |
| @@ -3,7 +3,7 @@ package config | @@ -3,7 +3,7 @@ package config | ||
| 3 | import ( | 3 | import ( |
| 4 | "time" | 4 | "time" |
| 5 | 5 | ||
| 6 | - "github.com/tal-tech/go-queue/kq" | 6 | + "github.com/tal-tech/go-zero/core/service" |
| 7 | ) | 7 | ) |
| 8 | 8 | ||
| 9 | type ( | 9 | type ( |
| @@ -31,9 +31,22 @@ type ( | @@ -31,9 +31,22 @@ type ( | ||
| 31 | Target string `json:",optional"` | 31 | Target string `json:",optional"` |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | + KafkaConf struct { | ||
| 35 | + service.ServiceConf | ||
| 36 | + Brokers []string | ||
| 37 | + Group string | ||
| 38 | + Topics []string | ||
| 39 | + Offset string `json:",options=first|last,default=last"` | ||
| 40 | + NumConns int `json:",default=1"` | ||
| 41 | + NumProducers int `json:",default=8"` | ||
| 42 | + NumConsumers int `json:",default=8"` | ||
| 43 | + MinBytes int `json:",default=10240"` // 10K | ||
| 44 | + MaxBytes int `json:",default=10485760"` // 10M | ||
| 45 | + } | ||
| 46 | + | ||
| 34 | Processor struct { | 47 | Processor struct { |
| 35 | Input struct { | 48 | Input struct { |
| 36 | - Kafka kq.KqConf | 49 | + Kafka KafkaConf |
| 37 | } | 50 | } |
| 38 | Filters []Filter `json:",optional"` | 51 | Filters []Filter `json:",optional"` |
| 39 | Output struct { | 52 | Output struct { |
| @@ -5,7 +5,8 @@ Processors: | @@ -5,7 +5,8 @@ Processors: | ||
| 5 | Brokers: | 5 | Brokers: |
| 6 | - ":172.16.186.16:19092" | 6 | - ":172.16.186.16:19092" |
| 7 | - "172.16.186.17:19092" | 7 | - "172.16.186.17:19092" |
| 8 | - Topic: k8slog | 8 | + Topics: |
| 9 | + - k8slog | ||
| 9 | Group: pro | 10 | Group: pro |
| 10 | NumProducers: 16 | 11 | NumProducers: 16 |
| 11 | Filters: | 12 | Filters: |
| @@ -18,6 +18,27 @@ import ( | @@ -18,6 +18,27 @@ import ( | ||
| 18 | 18 | ||
| 19 | var configFile = flag.String("f", "etc/config.yaml", "Specify the config file") | 19 | var configFile = flag.String("f", "etc/config.yaml", "Specify the config file") |
| 20 | 20 | ||
| 21 | +func toKqConf(c config.KafkaConf) []kq.KqConf { | ||
| 22 | + var ret []kq.KqConf | ||
| 23 | + | ||
| 24 | + for _, topic := range c.Topics { | ||
| 25 | + ret = append(ret, kq.KqConf{ | ||
| 26 | + ServiceConf: c.ServiceConf, | ||
| 27 | + Brokers: c.Brokers, | ||
| 28 | + Group: c.Group, | ||
| 29 | + Topic: topic, | ||
| 30 | + Offset: c.Offset, | ||
| 31 | + NumConns: c.NumConns, | ||
| 32 | + NumProducers: c.NumProducers, | ||
| 33 | + NumConsumers: c.NumConsumers, | ||
| 34 | + MinBytes: c.MinBytes, | ||
| 35 | + MaxBytes: c.MaxBytes, | ||
| 36 | + }) | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + return ret | ||
| 40 | +} | ||
| 41 | + | ||
| 21 | func main() { | 42 | func main() { |
| 22 | flag.Parse() | 43 | flag.Parse() |
| 23 | 44 | ||
| @@ -50,7 +71,9 @@ func main() { | @@ -50,7 +71,9 @@ func main() { | ||
| 50 | handle := handler.NewHandler(writer, indexer) | 71 | handle := handler.NewHandler(writer, indexer) |
| 51 | handle.AddFilters(filters...) | 72 | handle.AddFilters(filters...) |
| 52 | handle.AddFilters(filter.AddUriFieldFilter("url", "uri")) | 73 | handle.AddFilters(filter.AddUriFieldFilter("url", "uri")) |
| 53 | - group.Add(kq.MustNewQueue(processor.Input.Kafka, handle)) | 74 | + for _, k := range toKqConf(processor.Input.Kafka) { |
| 75 | + group.Add(kq.MustNewQueue(k, handle)) | ||
| 76 | + } | ||
| 54 | } | 77 | } |
| 55 | 78 | ||
| 56 | group.Start() | 79 | group.Start() |
-
请 注册 或 登录 后发表评论