一种 http 1.1 转 gRPC 调用的网关
因为项目中需要对接多个 gRPC 微服务, 但 gRPC 写得太烦了, 不像 http 提供方法(method), 路径(path), 数据(data) 即可:
1 | import grpc |
因为项目中需要对接多个 gRPC 微服务, 但 gRPC 写得太烦了, 不像 http 提供方法(method), 路径(path), 数据(data) 即可:
1 | import grpc |
补充负数, 浮点数, 字符串, 嵌套结构的编码规则
因为负数是用最高位表示符号位, 使用 varint 去编码会占用特别多的字节(10 字节), 所以 varint 不适合负数, 为了解决这个问题 pb 定义了 sint32
, sint64
的类型, 先使用 ZigZag 编码, 再使用 varint 编码.
gRPC 使用的 protocol buffers 编码在序列化方面比传统的 json, xml 更小巧, 更快速, 那么到底是什么做的呢?
1 | message HelloRequest { |
上文, 我们认识了一下 Django 项目下面的模块组成, 但目前这些模块只是一个个独立的 package 还没有组装, 下面我们来把上文示例的 polls
package “安装” 到项目中, 并把项目运行起来.
首先, 我们需要让项目知道要 “安装” 哪些 app, 打开 myproj/settings.py
, 找到 INSTALLED_APPS
选项:
让我们来学习一下 Django 的项目结构: Django 的项目并不需要手动创建, 官方文档会推荐你使用 Django 提供的 脚手架 创建:
1 | 在当前目录下创建一个名为 myproj 的 Django 项目 |