Skip to content

Introduce proper network messaging #15

@kelvich

Description

@kelvich

Now in a lot of places we use custom serialization of messages, we can adopt serde or protobuf or smth else. If we define good practices here earlier it would be less work in future.

Way I see it is that we may stick with general layout of postgres protocol, but serialize / deserialize
things we put in copy messages. Or just use custom protocols (and lose ability psql to that endpoint and
query smth).

Protobuf is boring and means auto-generated code and some associated pain, but it brings following
niceties:

  • Message definitions are separated from code and serializers can be generated for a bunch of languages, also that definition serve as good overview of api's
  • enforce no-deleted-fields policy and forward / backward compatibility.

So we need to do some research and decide what to use.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions