rust网络框架Pingora源码阅读3
这应该是Pingora源码阅读的最后一篇文章,之前介绍了Pingora中两个比较重要的概念, Server和Service, 本篇文章着重于监听服务的钩子函数, 这也是我们主要写业务代码的地方。
这应该是Pingora源码阅读的最后一篇文章,之前介绍了Pingora中两个比较重要的概念, Server和Service, 本篇文章着重于监听服务的钩子函数, 这也是我们主要写业务代码的地方。
上次主要阅读了Pingora的Server部分的代码, 本文阅读Pingora另一个比较重要的部分Service, Pingora内置两种服务background(后台)和Listening(监听), 本文着重后者。
要想深入Pingora应该是需要阅读源代码的,所以分析一下源代码,虽然Pingora没有提供丰富的示例,但是提供了一些不错的文档,比如它的internals.md文档,提供了很多细节和示意图,本系列文章会引用很多其中的示意图,Pingora的源码分析应该会分为2篇文章或更多。
Pingora一直是我比较期待的项目,所以写个入门系列教程吧。之前研究过一些其他产品,比如nginx, nginx-ingress, apisix, bfe等, 前三者植入业务基本靠lua或者说openresty 而bfe的社区实在是一言难尽, 所以我认为Pingora会成为Rust的明星项目,虽然没达到预期,但至少提供了一个框架,一个社区。