一种 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 项目 |