karafka 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.ruby-version +1 -1
- data/.travis.yml +3 -1
- data/CHANGELOG.md +90 -3
- data/CONTRIBUTING.md +5 -6
- data/Gemfile +1 -1
- data/Gemfile.lock +59 -64
- data/README.md +28 -57
- data/bin/karafka +13 -1
- data/config/errors.yml +6 -0
- data/karafka.gemspec +10 -9
- data/lib/karafka.rb +19 -10
- data/lib/karafka/app.rb +8 -15
- data/lib/karafka/attributes_map.rb +4 -4
- data/lib/karafka/backends/inline.rb +2 -3
- data/lib/karafka/base_consumer.rb +68 -0
- data/lib/karafka/base_responder.rb +41 -17
- data/lib/karafka/callbacks.rb +30 -0
- data/lib/karafka/callbacks/config.rb +22 -0
- data/lib/karafka/callbacks/dsl.rb +16 -0
- data/lib/karafka/cli/base.rb +2 -0
- data/lib/karafka/cli/flow.rb +1 -1
- data/lib/karafka/cli/info.rb +1 -2
- data/lib/karafka/cli/install.rb +2 -3
- data/lib/karafka/cli/server.rb +9 -12
- data/lib/karafka/connection/client.rb +117 -0
- data/lib/karafka/connection/config_adapter.rb +30 -14
- data/lib/karafka/connection/delegator.rb +46 -0
- data/lib/karafka/connection/listener.rb +22 -20
- data/lib/karafka/consumers/callbacks.rb +54 -0
- data/lib/karafka/consumers/includer.rb +51 -0
- data/lib/karafka/consumers/responders.rb +24 -0
- data/lib/karafka/{controllers → consumers}/single_params.rb +3 -3
- data/lib/karafka/errors.rb +19 -2
- data/lib/karafka/fetcher.rb +30 -28
- data/lib/karafka/helpers/class_matcher.rb +8 -8
- data/lib/karafka/helpers/config_retriever.rb +2 -2
- data/lib/karafka/instrumentation/listener.rb +112 -0
- data/lib/karafka/instrumentation/logger.rb +55 -0
- data/lib/karafka/instrumentation/monitor.rb +64 -0
- data/lib/karafka/loader.rb +0 -1
- data/lib/karafka/params/dsl.rb +156 -0
- data/lib/karafka/params/params_batch.rb +7 -2
- data/lib/karafka/patches/dry_configurable.rb +7 -7
- data/lib/karafka/patches/ruby_kafka.rb +34 -0
- data/lib/karafka/persistence/client.rb +25 -0
- data/lib/karafka/persistence/consumer.rb +38 -0
- data/lib/karafka/persistence/topic.rb +29 -0
- data/lib/karafka/process.rb +6 -5
- data/lib/karafka/responders/builder.rb +15 -14
- data/lib/karafka/responders/topic.rb +8 -1
- data/lib/karafka/routing/builder.rb +2 -2
- data/lib/karafka/routing/consumer_group.rb +1 -1
- data/lib/karafka/routing/consumer_mapper.rb +34 -0
- data/lib/karafka/routing/router.rb +1 -1
- data/lib/karafka/routing/topic.rb +5 -11
- data/lib/karafka/routing/{mapper.rb → topic_mapper.rb} +2 -2
- data/lib/karafka/schemas/config.rb +4 -5
- data/lib/karafka/schemas/consumer_group.rb +45 -24
- data/lib/karafka/schemas/consumer_group_topic.rb +18 -0
- data/lib/karafka/schemas/responder_usage.rb +1 -0
- data/lib/karafka/server.rb +39 -20
- data/lib/karafka/setup/config.rb +74 -51
- data/lib/karafka/setup/configurators/base.rb +6 -12
- data/lib/karafka/setup/configurators/params.rb +25 -0
- data/lib/karafka/setup/configurators/water_drop.rb +15 -14
- data/lib/karafka/setup/dsl.rb +22 -0
- data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.example} +2 -3
- data/lib/karafka/templates/karafka.rb.example +18 -5
- data/lib/karafka/version.rb +1 -1
- metadata +87 -63
- data/.github/ISSUE_TEMPLATE.md +0 -2
- data/Rakefile +0 -7
- data/lib/karafka/base_controller.rb +0 -118
- data/lib/karafka/connection/messages_consumer.rb +0 -106
- data/lib/karafka/connection/messages_processor.rb +0 -59
- data/lib/karafka/controllers/includer.rb +0 -51
- data/lib/karafka/controllers/responders.rb +0 -19
- data/lib/karafka/logger.rb +0 -53
- data/lib/karafka/monitor.rb +0 -98
- data/lib/karafka/params/params.rb +0 -101
- data/lib/karafka/persistence.rb +0 -18
- data/lib/karafka/setup/configurators/celluloid.rb +0 -22
@@ -3,10 +3,13 @@
|
|
3
3
|
module Karafka
|
4
4
|
module Setup
|
5
5
|
# Configurators module is used to enclose all the external dependencies configurations
|
6
|
+
# upon which Karafka depents
|
6
7
|
class Configurators
|
7
|
-
# Karafka has
|
8
|
+
# Karafka has some components that it relies on (like Sidekiq)
|
8
9
|
# We need to configure all of them only when the framework was set up.
|
9
10
|
# Any class that descends from this one will be automatically invoked upon setup (after it)
|
11
|
+
# @note This should be used only for internal Karafka dependencies configuration
|
12
|
+
# End users configuration should go to the after_init block
|
10
13
|
# @example Configure an Example class
|
11
14
|
# class ExampleConfigurator < Base
|
12
15
|
# def setup
|
@@ -15,18 +18,9 @@ module Karafka
|
|
15
18
|
# end
|
16
19
|
# end
|
17
20
|
class Base
|
18
|
-
|
19
|
-
|
20
|
-
attr_reader :config
|
21
|
-
|
22
|
-
# @param config [Karafka::Config] config instance
|
23
|
-
# @return [Karafka::Config::Base] configurator for a given component
|
24
|
-
def initialize(config)
|
25
|
-
@config = config
|
26
|
-
end
|
27
|
-
|
21
|
+
# @param _config [Karafka::Config] config instance
|
28
22
|
# This method needs to be implemented in a subclass
|
29
|
-
def setup
|
23
|
+
def self.setup(_config)
|
30
24
|
raise NotImplementedError
|
31
25
|
end
|
32
26
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Setup
|
5
|
+
class Configurators
|
6
|
+
# Karafka::Params::Params are dynamically built based on user defined parent class
|
7
|
+
# so we cannot just require it, we need to initialize it after user is done with
|
8
|
+
# the framework configuration. This is a configurator that does exactly that.
|
9
|
+
class Params < Base
|
10
|
+
# Builds up Karafka::Params::Params class with user defined parent class
|
11
|
+
# @param config [Karafka::Setup::Config] Config we can user to setup things
|
12
|
+
def self.setup(config)
|
13
|
+
return if defined? Karafka::Params::Params
|
14
|
+
|
15
|
+
Karafka::Params.const_set(
|
16
|
+
'Params',
|
17
|
+
Class
|
18
|
+
.new(config.params_base_class)
|
19
|
+
.tap { |klass| klass.include(Karafka::Params::Dsl) }
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -6,22 +6,23 @@ module Karafka
|
|
6
6
|
# Class responsible for setting up WaterDrop configuration
|
7
7
|
class WaterDrop < Base
|
8
8
|
# Sets up a WaterDrop settings
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
# @param config [Karafka::Setup::Config] Config we can user to setup things
|
10
|
+
# @note This will also inject Karafka monitor as a default monitor into WaterDrop,
|
11
|
+
# so we have the same monitor within whole Karafka framework (same with logger)
|
12
|
+
def self.setup(config)
|
12
13
|
::WaterDrop.setup do |water_config|
|
13
|
-
water_config.
|
14
|
-
|
15
|
-
|
14
|
+
water_config.deliver = true
|
15
|
+
|
16
|
+
config.to_h.except(:kafka).each do |k, v|
|
17
|
+
key_assignment = :"#{k}="
|
18
|
+
next unless water_config.respond_to?(key_assignment)
|
19
|
+
water_config.public_send(key_assignment, v)
|
20
|
+
end
|
16
21
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
key_assignment
|
21
|
-
# We decide whether we should set it on a kafka scope of waterdrop config or on the
|
22
|
-
# main scope
|
23
|
-
scope = water_config.kafka.respond_to?(key_assignment) ? :kafka : :itself
|
24
|
-
water_config.public_send(scope).public_send(key_assignment, value)
|
22
|
+
config.kafka.to_h.each do |k, v|
|
23
|
+
key_assignment = :"#{k}="
|
24
|
+
next unless water_config.kafka.respond_to?(key_assignment)
|
25
|
+
water_config.kafka.public_send(key_assignment, v)
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Setup
|
5
|
+
# Dsl for allowing to work with the configuration from the Karafka::App
|
6
|
+
# @note Despite providing methods, everything is still persisted and fetched
|
7
|
+
# from the Karafka::Setup::Config
|
8
|
+
module Dsl
|
9
|
+
# Sets up the whole configuration
|
10
|
+
# @param [Block] block configuration block
|
11
|
+
def setup(&block)
|
12
|
+
Setup::Config.setup(&block)
|
13
|
+
initialize!
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Karafka::Config] config instance
|
17
|
+
def config
|
18
|
+
Setup::Config.config
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.example}
RENAMED
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Application
|
3
|
+
# Application consumer from which all Karafka consumers should inherit
|
4
4
|
# You can rename it if it would conflict with your current code base (in case you're integrating
|
5
5
|
# Karafka with other frameworks)
|
6
|
-
|
7
|
-
end
|
6
|
+
ApplicationConsumer = Class.new(Karafka::BaseConsumer)
|
@@ -15,24 +15,37 @@ Karafka::Loader.load(Karafka::App.root)
|
|
15
15
|
|
16
16
|
class KarafkaApp < Karafka::App
|
17
17
|
setup do |config|
|
18
|
-
config.kafka.seed_brokers = %w
|
18
|
+
config.kafka.seed_brokers = %w[kafka://127.0.0.1:9092]
|
19
19
|
config.client_id = 'example_app'
|
20
20
|
config.backend = :inline
|
21
|
-
config.
|
21
|
+
config.batch_fetching = true
|
22
|
+
# Uncomment this for Rails app integration
|
23
|
+
# config.logger = Rails.logger
|
22
24
|
end
|
23
25
|
|
26
|
+
after_init do |config|
|
27
|
+
# Put here all the things you want to do after the Karafka framework
|
28
|
+
# initialization
|
29
|
+
end
|
30
|
+
|
31
|
+
# Comment out this part if you are not using instrumentation and/or you are not
|
32
|
+
# interested in logging events for certain environments. Since instrumentation
|
33
|
+
# notifications add extra boilerplate, if you want to achieve max performance,
|
34
|
+
# listen to only what you really need for given environment.
|
35
|
+
Karafka.monitor.subscribe(Karafka::Instrumentation::Listener)
|
36
|
+
|
24
37
|
consumer_groups.draw do
|
25
38
|
# topic :example do
|
26
|
-
#
|
39
|
+
# consumer ExampleConsumer
|
27
40
|
# end
|
28
41
|
|
29
42
|
# consumer_group :bigger_group do
|
30
43
|
# topic :test do
|
31
|
-
#
|
44
|
+
# consumer TestConsumer
|
32
45
|
# end
|
33
46
|
#
|
34
47
|
# topic :test2 do
|
35
|
-
#
|
48
|
+
# consumer Test2Consumer
|
36
49
|
# end
|
37
50
|
# end
|
38
51
|
end
|
data/lib/karafka/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Mensfeld
|
@@ -10,162 +10,176 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-03-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: activesupport
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '0
|
21
|
+
version: '4.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '0
|
28
|
+
version: '4.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
|
-
name:
|
30
|
+
name: dry-configurable
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- - "
|
33
|
+
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: '0'
|
35
|
+
version: '0.7'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- - "
|
40
|
+
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '0'
|
42
|
+
version: '0.7'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
44
|
+
name: dry-inflector
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 0.1.1
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
56
|
+
version: 0.1.1
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: dry-monitor
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- - "
|
61
|
+
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
63
|
+
version: '0.1'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- - "
|
68
|
+
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: '0.
|
70
|
+
version: '0.1'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
72
|
+
name: dry-validation
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- - "
|
75
|
+
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: '11
|
77
|
+
version: '0.11'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- - "
|
82
|
+
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '11
|
84
|
+
version: '0.11'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
86
|
+
name: envlogic
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '0
|
91
|
+
version: '1.0'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '0
|
98
|
+
version: '1.0'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
100
|
+
name: multi_json
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - ">="
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: '
|
105
|
+
version: '1.12'
|
106
106
|
type: :runtime
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '
|
112
|
+
version: '1.12'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
114
|
+
name: rake
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- - "
|
117
|
+
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '
|
119
|
+
version: '11.3'
|
120
120
|
type: :runtime
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- - "
|
124
|
+
- - ">="
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version: '
|
126
|
+
version: '11.3'
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
128
|
+
name: require_all
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
-
- - "
|
131
|
+
- - ">="
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: '
|
133
|
+
version: '1.4'
|
134
134
|
type: :runtime
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- - "
|
138
|
+
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version: '
|
140
|
+
version: '1.4'
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
|
-
name:
|
142
|
+
name: ruby-kafka
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
145
|
- - ">="
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version:
|
147
|
+
version: 0.5.3
|
148
148
|
type: :runtime
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
152
|
- - ">="
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
154
|
+
version: 0.5.3
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
|
-
name:
|
156
|
+
name: thor
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
|
-
- - "
|
159
|
+
- - "~>"
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version: '
|
161
|
+
version: '0.19'
|
162
162
|
type: :runtime
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
|
-
- - "
|
166
|
+
- - "~>"
|
167
167
|
- !ruby/object:Gem::Version
|
168
|
-
version: '
|
168
|
+
version: '0.19'
|
169
|
+
- !ruby/object:Gem::Dependency
|
170
|
+
name: waterdrop
|
171
|
+
requirement: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - "~>"
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '1.2'
|
176
|
+
type: :runtime
|
177
|
+
prerelease: false
|
178
|
+
version_requirements: !ruby/object:Gem::Requirement
|
179
|
+
requirements:
|
180
|
+
- - "~>"
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '1.2'
|
169
183
|
description: Framework used to simplify Apache Kafka based Ruby applications development
|
170
184
|
email:
|
171
185
|
- maciej@coditsu.io
|
@@ -177,7 +191,6 @@ extensions: []
|
|
177
191
|
extra_rdoc_files: []
|
178
192
|
files:
|
179
193
|
- ".console_irbrc"
|
180
|
-
- ".github/ISSUE_TEMPLATE.md"
|
181
194
|
- ".gitignore"
|
182
195
|
- ".rspec"
|
183
196
|
- ".ruby-gemset"
|
@@ -190,15 +203,18 @@ files:
|
|
190
203
|
- Gemfile.lock
|
191
204
|
- MIT-LICENCE
|
192
205
|
- README.md
|
193
|
-
- Rakefile
|
194
206
|
- bin/karafka
|
207
|
+
- config/errors.yml
|
195
208
|
- karafka.gemspec
|
196
209
|
- lib/karafka.rb
|
197
210
|
- lib/karafka/app.rb
|
198
211
|
- lib/karafka/attributes_map.rb
|
199
212
|
- lib/karafka/backends/inline.rb
|
200
|
-
- lib/karafka/
|
213
|
+
- lib/karafka/base_consumer.rb
|
201
214
|
- lib/karafka/base_responder.rb
|
215
|
+
- lib/karafka/callbacks.rb
|
216
|
+
- lib/karafka/callbacks/config.rb
|
217
|
+
- lib/karafka/callbacks/dsl.rb
|
202
218
|
- lib/karafka/cli.rb
|
203
219
|
- lib/karafka/cli/base.rb
|
204
220
|
- lib/karafka/cli/console.rb
|
@@ -206,46 +222,54 @@ files:
|
|
206
222
|
- lib/karafka/cli/info.rb
|
207
223
|
- lib/karafka/cli/install.rb
|
208
224
|
- lib/karafka/cli/server.rb
|
225
|
+
- lib/karafka/connection/client.rb
|
209
226
|
- lib/karafka/connection/config_adapter.rb
|
227
|
+
- lib/karafka/connection/delegator.rb
|
210
228
|
- lib/karafka/connection/listener.rb
|
211
|
-
- lib/karafka/
|
212
|
-
- lib/karafka/
|
213
|
-
- lib/karafka/
|
214
|
-
- lib/karafka/
|
215
|
-
- lib/karafka/controllers/single_params.rb
|
229
|
+
- lib/karafka/consumers/callbacks.rb
|
230
|
+
- lib/karafka/consumers/includer.rb
|
231
|
+
- lib/karafka/consumers/responders.rb
|
232
|
+
- lib/karafka/consumers/single_params.rb
|
216
233
|
- lib/karafka/errors.rb
|
217
234
|
- lib/karafka/fetcher.rb
|
218
235
|
- lib/karafka/helpers/class_matcher.rb
|
219
236
|
- lib/karafka/helpers/config_retriever.rb
|
220
237
|
- lib/karafka/helpers/multi_delegator.rb
|
238
|
+
- lib/karafka/instrumentation/listener.rb
|
239
|
+
- lib/karafka/instrumentation/logger.rb
|
240
|
+
- lib/karafka/instrumentation/monitor.rb
|
221
241
|
- lib/karafka/loader.rb
|
222
|
-
- lib/karafka/
|
223
|
-
- lib/karafka/monitor.rb
|
224
|
-
- lib/karafka/params/params.rb
|
242
|
+
- lib/karafka/params/dsl.rb
|
225
243
|
- lib/karafka/params/params_batch.rb
|
226
244
|
- lib/karafka/parsers/json.rb
|
227
245
|
- lib/karafka/patches/dry_configurable.rb
|
228
|
-
- lib/karafka/
|
246
|
+
- lib/karafka/patches/ruby_kafka.rb
|
247
|
+
- lib/karafka/persistence/client.rb
|
248
|
+
- lib/karafka/persistence/consumer.rb
|
249
|
+
- lib/karafka/persistence/topic.rb
|
229
250
|
- lib/karafka/process.rb
|
230
251
|
- lib/karafka/responders/builder.rb
|
231
252
|
- lib/karafka/responders/topic.rb
|
232
253
|
- lib/karafka/routing/builder.rb
|
233
254
|
- lib/karafka/routing/consumer_group.rb
|
234
|
-
- lib/karafka/routing/
|
255
|
+
- lib/karafka/routing/consumer_mapper.rb
|
235
256
|
- lib/karafka/routing/proxy.rb
|
236
257
|
- lib/karafka/routing/router.rb
|
237
258
|
- lib/karafka/routing/topic.rb
|
259
|
+
- lib/karafka/routing/topic_mapper.rb
|
238
260
|
- lib/karafka/schemas/config.rb
|
239
261
|
- lib/karafka/schemas/consumer_group.rb
|
262
|
+
- lib/karafka/schemas/consumer_group_topic.rb
|
240
263
|
- lib/karafka/schemas/responder_usage.rb
|
241
264
|
- lib/karafka/schemas/server_cli_options.rb
|
242
265
|
- lib/karafka/server.rb
|
243
266
|
- lib/karafka/setup/config.rb
|
244
267
|
- lib/karafka/setup/configurators/base.rb
|
245
|
-
- lib/karafka/setup/configurators/
|
268
|
+
- lib/karafka/setup/configurators/params.rb
|
246
269
|
- lib/karafka/setup/configurators/water_drop.rb
|
270
|
+
- lib/karafka/setup/dsl.rb
|
247
271
|
- lib/karafka/status.rb
|
248
|
-
- lib/karafka/templates/
|
272
|
+
- lib/karafka/templates/application_consumer.rb.example
|
249
273
|
- lib/karafka/templates/application_responder.rb.example
|
250
274
|
- lib/karafka/templates/karafka.rb.example
|
251
275
|
- lib/karafka/version.rb
|
@@ -270,7 +294,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
294
|
version: '0'
|
271
295
|
requirements: []
|
272
296
|
rubyforge_project:
|
273
|
-
rubygems_version: 2.6
|
297
|
+
rubygems_version: 2.7.6
|
274
298
|
signing_key:
|
275
299
|
specification_version: 4
|
276
300
|
summary: Ruby based framework for working with Apache Kafka
|