返回
从零入门,畅游 Hertz 服务开发世界
后端
2023-10-07 08:41:41
借 Hz 之力,化繁为简,Hertz 服务开发之旅
开发 Hertz 服务不再是难事,有了命令行工具 Hz,一切变得如此轻松。它作为 Hertz HTTP 框架的助手,让你从环境搭建到服务部署,一气呵成。本文将带你踏上 Hertz 服务开发之旅,开启高效之旅。
环境搭建与工具介绍
踏上这段旅程的第一步便是环境搭建。只需一个命令,Hz 便为你准备好所需的一切。安装完成后,运行以下命令初始化项目:
hz init my-hz-app
一个名为 my-hz-app
的新项目就此诞生。项目结构一目了然:
cmd
目录:存放命令行工具 Hz 的配置文件。internal
目录:Hertz 服务的代码核心。public
目录:存放静态文件和模板。
IDL 简介
IDL(接口语言)是 Hertz 的一大特色。它采用简单易懂的语法,服务与客户端之间的交互接口。以下是一个 IDL 示例:
syntax = "proto3";
package example;
message Request {
string name = 1;
}
message Response {
string message = 1;
}
service Greeter {
rpc SayHello (Request) returns (Response);
}
Hz 的运行模式
Hz 提供了两种运行模式:服务模式和网关模式。服务模式用于构建独立的服务,而网关模式则可将多个服务聚合在一起,提供统一的入口。
实践出真知
理论知识固然重要,但实践才能出真知。让我们通过一个简单的示例,体验 Hz 的强大功能。在 internal/app
目录下,新建一个 handler.go
文件,并添加以下代码:
package app
import (
"context"
"fmt"
example "github.com/cloudwego/hertz/examples/app/api/helloworld"
)
func NewGreeterHandler() *GreeterHandler {
return &GreeterHandler{}
}
type GreeterHandler struct{}
func (h *GreeterHandler) SayHello(ctx context.Context, req *example.Request) (*example.Response, error) {
return &example.Response{
Message: fmt.Sprintf("Hello, %s!", req.Name),
}, nil
}
总结
借助命令行工具 Hz,Hertz 服务开发变得如此简单。无论是环境搭建、IDL 介绍、运行模式选择,还是实战演练,Hz 都为你提供了全面的支持。如果你想深入了解 Hertz,欢迎观看 CloudWeGo 源码解读直播的第二场,更多精彩内容等你探索。