qicosmos / rest_rpc

modern C++(C++11), simple, easy to use rpc framework
MIT License
1.7k stars 370 forks source link

【增强】扩展msgpack为自定义序列化算法和加密算法 #143

Open lich4 opened 2 months ago

lich4 commented 2 months ago

rest_rpc使用msgpack作为序列化&反序列化方式,是否可以将接口抽象出来,支持用户自定义序列化方式。 比如用户可以用自定义函数实现序列化和加解密,在服务器端支持用户自定义的解密和反序列化函数。

  1. 抽象出逻辑可以由用户自定义序列化/反序列化/加解密算法
  2. 抽象出逻辑可以由用户自由选择tcp/udp传输。 GRPC这种框架的缺点就是绑定http2,绑定protobuf,臃肿且不够灵活。
qicosmos commented 2 months ago

第一种应该问题不大,第二种换协议就改动太大了。 rest_rpc 在明年初会做一次大的重构,从现在的C++11 升级到C++20,C++11太老了,该升级了,到时候把可扩展的序列化纳入进来。

UnknownIsInteresting commented 1 month ago

rest_rpc使用msgpack作为序列化&反序列化方式,是否可以将接口抽象出来,支持用户自定义序列化方式。 比如用户可以用自定义函数实现序列化和加解密,在服务器端支持用户自定义的解密和反序列化函数。

  1. 抽象出逻辑可以由用户自定义序列化/反序列化/加解密算法
  2. 抽象出逻辑可以由用户自由选择tcp/udp传输。 GRPC这种框架的缺点就是绑定http2,绑定protobuf,臃肿且不够灵活。

1.这个我也很感兴趣,大佬们解决后踢我一下 2.兼容unix domain socket还是比较容易的,可以加个模板参数实现,支持udp改动可能就比较大了