1.1 快速开始

为了让大家快速了解Jupiter框架,我们提供了大量的example1.1 快速开始 - 图1

在这一节,我们参考helloworld示例1.1 快速开始 - 图2带领大家入门

  1. package main
  2. import (
  3. "github.com/douyu/jupiter"
  4. "github.com/douyu/jupiter/pkg/server/xecho"
  5. "github.com/douyu/jupiter/pkg/xlog"
  6. "github.com/labstack/echo/v4"
  7. )
  8. func main() {
  9. eng := NewEngine()
  10. if err := eng.Run(); err != nil {
  11. xlog.Error(err.Error())
  12. }
  13. }
  14. type Engine struct {
  15. jupiter.Application
  16. }
  17. func NewEngine() *Engine {
  18. eng := &Engine{}
  19. if err := eng.Startup(
  20. eng.serveHTTP,
  21. ); err != nil {
  22. xlog.Panic("startup", xlog.Any("err", err))
  23. }
  24. return eng
  25. }
  26. // HTTP地址
  27. func (eng *Engine) serveHTTP() error {
  28. server := xecho.StdConfig("http").Build()
  29. server.GET("/hello", func(ctx echo.Context) error {
  30. return ctx.JSON(200, "Gopher Wuhan")
  31. })
  32. return eng.Serve(server)
  33. }

我们在main.go里创建一个Engine,然后将serveHTTPserveGovern设置到EngineJupiter会根据我们的配置schema解析配置文件,并根据Engine注入功能的生命周期,提供HTTP服务和治理服务。

我们运行指令go run main.go --config=config.toml,可以看到以下提示 image

这个时候我们可以发送一个指令,得到如下结果

  1. ~ curl http://127.0.0.1:9090/hello
  2. ~ "Gopher Wuhan"

我们还可以观测我们应用的治理信息

  1. ~ curl http://127.0.0.1:9990/routes
  2. ~ ["/routes","/debug/pprof/","/debug/pprof/cmdline","/debug/pprof/profile","/debug/pprof/symbol","/debug/pprof/trace","/modInfo","/configs","/status/code/list","/metrics"]

我们可以继续访问这些路由,能够获取到我们应用的编译、依赖、配置、监控等信息。具体请查看服务治理

目前我们只能够简单的通过HTTP获得治理信息,二期我们开源更多的治理信息数据、并会将这些治理信息数据进行可视化,敬请期待。