wu-sheng commented on a change in pull request #4847:
URL: https://github.com/apache/skywalking/pull/4847#discussion_r454816061
##########
File path: docs/en/setup/backend/backend-receivers.md
##########
@@ -128,3 +129,20 @@ receiver-oc:
gRPCHost: ${SW_OC_RECEIVER_GRPC_HOST:0.0.0.0}
gRPCPort: ${SW_OC_RECEIVER_GRPC_PORT:55678}
```
+
+## Kafka receiver
+
+Kafka Receiver supports to receive `TraceSegment`, `JVMMetrics` and others of
Agent reported as gRPC Receiver.
+Currently, it has to connect to the whole topic or single partition of topic
when OAP is in cluster mode.
+And we have to configure **Zookeeper** as the OAP cluster management tool.
+
+**Suggestion and recommend**, creating the Kafka topics by self before OAP
Server starting. Although OAP server
Review comment:
`Suggestion and recommend` are not the same. Please make this part
clear. Also, you have codes to create topic automatically, what they are going
to do, also should be declared clearly here.
##########
File path: dist-material/release-docs/LICENSE
##########
@@ -380,6 +384,8 @@ The text of each license is also included at
licenses/LICENSE-[project].txt.
proto files from gogo: https://github.com/gogo/protobuf BSD-2
proto files from grpc-gateway,
https://github.com/grpc-ecosystem/grpc-gateway/tree/master/protoc-gen-swagger/options
BSD-3
Review comment:
Why has an empty line?
##########
File path: docs/en/setup/backend/backend-receivers.md
##########
@@ -128,3 +129,20 @@ receiver-oc:
gRPCHost: ${SW_OC_RECEIVER_GRPC_HOST:0.0.0.0}
gRPCPort: ${SW_OC_RECEIVER_GRPC_PORT:55678}
```
+
+## Kafka receiver
+
+Kafka Receiver supports to receive `TraceSegment`, `JVMMetrics` and others of
Agent reported as gRPC Receiver.
+Currently, it has to connect to the whole topic or single partition of topic
when OAP is in cluster mode.
+And we have to configure **Zookeeper** as the OAP cluster management tool.
+
+**Suggestion and recommend**, creating the Kafka topics by self before OAP
Server starting. Although OAP server
Review comment:
What are the topics, and what are they for? And which are the recommend
commands with parameters? We need a very clear doc about this.
##########
File path:
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cluster/ClusterNodeUpdate.java
##########
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.oap.server.core.cluster;
+
+import org.apache.skywalking.oap.server.library.module.Service;
+
+public interface ClusterNodeUpdate extends Service {
Review comment:
I don't this is the right design, as commented above.
##########
File path: docs/en/setup/backend/backend-receivers.md
##########
@@ -128,3 +129,20 @@ receiver-oc:
gRPCHost: ${SW_OC_RECEIVER_GRPC_HOST:0.0.0.0}
gRPCPort: ${SW_OC_RECEIVER_GRPC_PORT:55678}
```
+
+## Kafka receiver
Review comment:
Read my comment, this is not a receiver.
##########
File path: docs/en/setup/backend/backend-receivers.md
##########
@@ -128,3 +129,20 @@ receiver-oc:
gRPCHost: ${SW_OC_RECEIVER_GRPC_HOST:0.0.0.0}
gRPCPort: ${SW_OC_RECEIVER_GRPC_PORT:55678}
```
+
+## Kafka receiver
+
+Kafka Receiver supports to receive `TraceSegment`, `JVMMetrics` and others of
Agent reported as gRPC Receiver.
+Currently, it has to connect to the whole topic or single partition of topic
when OAP is in cluster mode.
+And we have to configure **Zookeeper** as the OAP cluster management tool.
Review comment:
Why we need a Zookeeping to be OAP cluster management? Which parts of
codes using the this?
This fetcher is only taking responsibility for itself, the coordinator is
for distributed aggregation. If the user wants Zookeeper for Kafka, and another
coordinator, such as k8s, for OAP, I can't see the blocks. Is this?
##########
File path: oap-server/pom.xml
##########
@@ -94,6 +94,8 @@
<zookeeper.image.version>3.5</zookeeper.image.version>
<protobuf-java-util.version>3.11.4</protobuf-java-util.version>
Review comment:
Why an empty line?
##########
File path: docs/en/setup/backend/backend-receivers.md
##########
@@ -128,3 +129,20 @@ receiver-oc:
gRPCHost: ${SW_OC_RECEIVER_GRPC_HOST:0.0.0.0}
gRPCPort: ${SW_OC_RECEIVER_GRPC_PORT:55678}
```
+
+## Kafka receiver
+
+Kafka Receiver supports to receive `TraceSegment`, `JVMMetrics` and others of
Agent reported as gRPC Receiver.
Review comment:
Trace and JVM Metrics, please use common nouns. Don't use the class name
in the codes.
##########
File path:
oap-server/server-receiver-plugin/skywalking-kafka-receiver-plugin/pom.xml
##########
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>server-receiver-plugin</artifactId>
+ <groupId>org.apache.skywalking</groupId>
+ <version>8.1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>skywalking-kafka-receiver-plugin</artifactId>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.skywalking</groupId>
+ <artifactId>skywalking-trace-receiver-plugin</artifactId>
Review comment:
Why do you depend on this? I think you should refactor the structure of
the code, to separate the trace/JVM analysis codes in a separate module. Then
the receiver and Kafka fetcher depend on it both.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]