You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> For reliable delivery of In-process or Interprocess messages.
9
10
10
-
Protobox is a reliable message delivery framework for Go, providing both in-process and network message delivery capabilities with type safety and transaction support.
11
+
Protobox is a reliable message delivery framework for Go, providing both in-process and network message delivery capabilities with type
Protobox leverages Protocol Buffers (protobuf) to define message schemas and dispatchers through custom message options. Using Protobox's protoc-gen-go-protobox plugin alongside protobuf's protoc-gen-go plugin, you can generate type-safe message dispatchers and message structures with minimal boilerplate.
22
-
</p>
23
-
</div>
24
-
</div>
18
+
Protobox leverages Protocol Buffers (protobuf) to define message schemas and dispatchers through custom message options. Using Protobox's protoc-gen-go-protobox plugin alongside protobuf's protoc-gen-go plugin, you can generate type-safe message dispatchers and message structures with minimal boilerplate.
25
19
26
20
Key capabilities:
27
21
@@ -31,24 +25,28 @@ Key capabilities:
31
25
- Idempotent message processing with inbox pattern
32
26
- Built-in support for both in-process and network message delivery
33
27
34
-
35
28
# Background
36
-
Modern distributed systems often require reliable message delivery mechanisms across various components, both within the same process and across network boundaries. While patterns like outbox and retry mechanisms are well-established solutions, implementing them repeatedly brings several challenges:
29
+
30
+
Modern distributed systems often require reliable message delivery mechanisms across various components, both within the same process and
31
+
across network boundaries. While patterns like outbox and retry mechanisms are well-established solutions, implementing them repeatedly
32
+
brings several challenges:
37
33
38
34
Defining and maintaining message schemas
39
35
Ensuring type safety across message handlers
40
36
Managing message persistence and delivery guarantees
41
37
Handling both in-process and network message delivery consistently
42
38
Maintaining idempotency in message processing
43
39
44
-
While robust messaging frameworks exist in other language ecosystems, the Go ecosystem lacked a comprehensive solution that leverages Go's strengths. Protobox addresses this gap by:
40
+
While robust messaging frameworks exist in other language ecosystems, the Go ecosystem lacked a comprehensive solution that leverages Go's
41
+
strengths. Protobox addresses this gap by:
45
42
46
43
Utilizing Protocol Buffers for schema definition and code generation
47
44
Providing type-safe message handling through code generation
48
45
Offering built-in support for reliable messaging patterns
49
46
Embracing Go's idioms while providing high-performance implementations
50
47
51
48
# Features
49
+
52
50
## Core Features
53
51
54
52
- Schema-first message definition using Protocol Buffers
0 commit comments