@@ -15,39 +15,39 @@ Compatibility tests between Moleculer implementations (Node.js, Java, Go, Ruby)
15
15
### Service
16
16
| Feature | Node.js | Java | Go | Ruby |
17
17
| ----------------------------------- | --- | --- | --- | --- |
18
- | Versioned service | ✔️ | ✔️ | ❔ | ❔ |
19
- | Mixins | ✔️ | ❌ | ️❔ | ❔ |
20
- | Setting | ✔️ | ✔️ | ❔ | ❔ |
21
- | Metadata | ✔️ | ❌ | ❔ | ❔ |
22
- | Dependencies | ✔️ | ✔️ | ❔ | ❔ |
23
- | Lifecycle events | ✔️ | ️️️✔️ | ❔ | ❔ |
24
- | ` $node ` internal service | ✔️ | ❌ | ❔ | ❔ |
18
+ | Versioned service | ✔️ | ✔️ | ❔ | ❌ |
19
+ | Mixins | ✔️ | ❌ | ️❔ | ❌ |
20
+ | Setting | ✔️ | ✔️ | ❔ | ✔ |
21
+ | Metadata | ✔️ | ❌ | ❔ | ❌ |
22
+ | Dependencies | ✔️ | ✔️ | ❔ | ✔ |
23
+ | Lifecycle events | ✔️ | ️️️✔️ | ❔ | ❌ |
24
+ | ` $node ` internal service | ✔️ | ❌ | ❔ | ❌ |
25
25
| Class-based service | ✔️ | ✔️ | ✔️ | ✔️ |
26
26
27
27
### Action calls
28
28
| Feature | Node.js | Java | Go | Ruby |
29
29
| ----------------------------------- | --- | --- | --- | --- |
30
30
| Local call | ✔️ | ✔️ | ✔️ | ✔️ |
31
31
| Remote call | ✔️ | ✔️ | ✔️ | ✔️ |
32
- | Nested call | ✔️ | ✔️ | ❔️ | ❔ |
33
- | Direct call | ✔️ | ✔️ | ❔️ | ❔ |
34
- | Request metadata | ✔️ | ✔️ | ❔️ | ❔ |
35
- | Response metadata | ✔️ | ✔️ | ❔️ | ❔ |
36
- | Metadata merging | ✔️ | ✔️ | ❔️ | ❔ |
37
- | Parameter validation | ✔️ | ❌ | ❔ | ❔ |
38
- | Stream in request | ✔️ | ✔️ | ❔ | ❔ |
39
- | Stream in response | ✔️ | ✔️ | ❔ | ❔ |
32
+ | Nested call | ✔️ | ✔️ | ❔️ | ❌ |
33
+ | Direct call | ✔️ | ✔️ | ❔️ | ❌ |
34
+ | Request metadata | ✔️ | ✔️ | ❔️ | ❌ |
35
+ | Response metadata | ✔️ | ✔️ | ❔️ | ❌ |
36
+ | Metadata merging | ✔️ | ✔️ | ❔️ | ❌ |
37
+ | Parameter validation | ✔️ | ❌ | ❔ | ❌ |
38
+ | Stream in request | ✔️ | ✔️ | ❔ | ❌ |
39
+ | Stream in response | ✔️ | ✔️ | ❔ | ❌ |
40
40
| Action visibility | ✔️ | ❌ | ❔ | ❔ |
41
- | Action hooks | ✔️ | ❌ | ❔ | ❔ |
41
+ | Action hooks | ✔️ | ❌ | ❔ | ❌ |
42
42
43
43
### Events
44
44
| Feature | Node.js | Java | Go | Ruby |
45
45
| ----------------------------------- | --- | --- | --- | --- |
46
- | Balanced events | ✔️ | ✔️ | ❔ | ❔ |
47
- | Broadcast events | ✔️ | ✔️ | ❔️ | ❔️ |
48
- | BroadcastLocal events | ✔️ | ✔️ | ❔️ | ❔ |
46
+ | Balanced events | ✔️ | ✔️ | ❔ | ✔ |
47
+ | Broadcast events | ✔️ | ✔️ | ❔️ | ❌ |
48
+ | BroadcastLocal events | ✔️ | ✔️ | ❔️ | ❌ |
49
49
| Context-based events | ✔️ | ️️❌️ | ❌️ | ❌ |
50
- | Custom group definition | ✔️ | ️️✔️ | ❔ | ❔ |
50
+ | Custom group definition | ✔️ | ️️✔️ | ❔ | ❌ |
51
51
| ** Internal events** | ️ | ️️ | | |
52
52
| ` $services.changed ` | ✔️ | ️️❌️ | ❌️ | ❌ |
53
53
| ` $node.* ` | ✔️ | ️️❌️ | ❌️ | ❌ |
@@ -66,8 +66,8 @@ Compatibility tests between Moleculer implementations (Node.js, Java, Go, Ruby)
66
66
### Transporters
67
67
| Feature | Node.js | Java | Go | Ruby |
68
68
| ------------------------------------- | --- | --- | --- | --- |
69
- | NATS | ✔️ | ✔️ | ✔️ | ✔️ |
70
- | Redis | ✔️ | ✔️ | ❌ | ❌ |
69
+ | NATS | ✔️ | ✔️ | ✔️ | ❌ |
70
+ | Redis | ✔️ | ✔️ | ❌ | ✔ |
71
71
| MQTT | ✔️ | ✔️ | ❌ | ❌ |
72
72
| AMQP (0.9) | ✔️ | ✔️ | ❌ | ❌ |
73
73
| AMQP (1.0) | ❌ | ❌ | ❌ | ❌ |
@@ -76,17 +76,17 @@ Compatibility tests between Moleculer implementations (Node.js, Java, Go, Ruby)
76
76
| TCP | ✔️ | ✔️ | ❌ | ❌ |
77
77
| Google PubSub | ❌ | ✔️ | ❌ | ❌ |
78
78
| JMS | ❌ | ✔️ | ❌ | ❌ |
79
- | Custom | ✔️ | ✔️ | ❔ | ❔ |
79
+ | Custom | ✔️ | ✔️ | ❔ | ❌ |
80
80
| Disabled balancing | ✔️ | ❌ | ❌ | ❌ |
81
81
82
82
### Serializers
83
83
| Feature | Node.js | Java | Go | Ruby |
84
84
| ------------------------------------- | --- | --- | --- | --- |
85
85
| JSON | ✔️ | ✔️ | ✔️ | ✔️ |
86
- | MsgPack/Notepack | ✔️ | ✔️ | ❔ | ❔ |
87
- | Avro | ✔️ | ❌ | ❔ | ❔ |
88
- | Protocol Buffer | ✔️ | ❌ | ❔ | ❔ |
89
- | Thrift | ✔️ | ❌ | ❔ | ❔ |
86
+ | MsgPack/Notepack | ✔️ | ✔️ | ❔ | ❌ |
87
+ | Avro | ✔️ | ❌ | ❔ | ❌ |
88
+ | Protocol Buffer | ✔️ | ❌ | ❔ | ❌ |
89
+ | Thrift | ✔️ | ❌ | ❔ | ❌ |
90
90
| CBOR | ❌ | ✔️ | ❌ | ❌ |
91
91
| Amazon Ion | ❌ | ✔️ | ❌ | ❌ |
92
92
| BSON | ❌ | ✔️ | ❌ | ❌ |
@@ -97,7 +97,7 @@ Compatibility tests between Moleculer implementations (Node.js, Java, Go, Ruby)
97
97
| Feature | Node.js | Java | Go | Ruby |
98
98
| ------------------------------------- | --- | --- | --- | --- |
99
99
| Round-Robin | ✔️ | ✔️ | ✔️ | ️️✔️ |
100
- | Random | ✔️ | ✔️ | ❔ | ❔ |
100
+ | Random | ✔️ | ✔️ | ❔ | ❌ |
101
101
| CPU usage | ✔️ | ✔️ | ❌️ | ❌️ |
102
102
| Latency-based | ✔️ | ✔️ | ❌️ | ❌️ |
103
103
| Sharding | ✔️ | ❌ | ❌ | ❌ |
@@ -197,18 +197,18 @@ Compatibility tests between Moleculer implementations (Node.js, Java, Go, Ruby)
197
197
### Errors
198
198
| Feature | Node.js | Java | Go | Ruby |
199
199
| ------------------------------------- | --- | --- | --- | --- |
200
- | ` MoleculerError ` | ✔️ | ️️✔️ | ❔ | ❔ |
201
- | ` MoleculerRetryableError ` | ✔️ | ❔ | ❔ | ❔ |
202
- | ` MoleculerServerError ` | ✔️ | ❔ | ❔ | ❔ |
203
- | ` MoleculerClientError ` | ✔️ | ❔ | ❔ | ❔ |
200
+ | ` MoleculerError ` | ✔️ | ️️✔️ | ❔ | ❌ |
201
+ | ` MoleculerRetryableError ` | ✔️ | ❔ | ❔ | ❌ |
202
+ | ` MoleculerServerError ` | ✔️ | ❔ | ❔ | ❌ |
203
+ | ` MoleculerClientError ` | ✔️ | ❔ | ❔ | ❌ |
204
204
205
205
### Additional features
206
206
| Feature | Node.js | Java | Go | Ruby |
207
207
| ------------------------------------- | --- | --- | --- | --- |
208
- | Hot-reload | ✔️ | ❌ | ❔ | ❔ |
209
- | Runner/Starter | ✔️ | ✔️ | ❔ | ❔ |
210
- | API Gateway | ✔️ | ✔️ | ❔ | ❔ |
211
- | DB access service | ✔️ | ✔️ | ❔ | ❔ |
212
- | Ping nodes | ✔️ | ✔️ | ❔ | ❔ |
213
- | Heartbeat | ✔️ | ✔️ | ❔ | ❔ |
208
+ | Hot-reload | ✔️ | ❌ | ❔ | ❌ |
209
+ | Runner/Starter | ✔️ | ✔️ | ❔ | ✔ |
210
+ | API Gateway | ✔️ | ✔️ | ❔ | ❌ |
211
+ | DB access service | ✔️ | ✔️ | ❔ | ❌ |
212
+ | Ping nodes | ✔️ | ✔️ | ❔ | ❌ |
213
+ | Heartbeat | ✔️ | ✔️ | ❔ | ✔ |
214
214
0 commit comments