响应式微服务与数据库集成:提升性能与容量
1. 响应式微服务基础
1.1 线程使用与工作循环
在运行 gRPC 服务器时,若仅需运行该服务器,可使用 thread::park 方法调用的循环,此方法会阻塞线程,直至 unpark 方法调用将其解锁,这也是异步运行时内部采用的方法。而我们会使用 worker_loop 函数调用,不过该函数尚未实现。
以下是 worker_loop 函数的代码:
fn worker_loop(receiver: Receiver<Action>) -> Result<(), Error> {
let next = env::var("NEXT")?.parse()?;
let remote = Remote::new(next)?;
let mut in_roll_call = false;
for action in receiver.iter() {
match action { /* Action variants here */ }
}
Ok(())
}
1.2 编译与运行示例
- 构建服务器和客户端 :使用
cargo build子命令构建服务器和客户端。若要指定二进制文件,可使用--bin <
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



