go-micro命令行学习

Olivia的小跟班 Lv3

题记

上篇文章我们提到了go-micro有个CLI(提供命令行界面让我们和微服务进行交互),现在我们来简单的学习一下。

1、什么是go-micro.exe(CLI)?

go-micro 是一个命令行工具,用于管理和操作微服务。它提供了一系列命令,允许您进行各种操作,包括调用服务、创建新项目、生成项目模板文件、运行服务、列出服务等等。

2、go-micro.exe(CLI)安装

使用如下命令安装go-micro命令行:

1
go install github.com/go-micro/cli/cmd/go-micro@latest

使用go-micro --version命令检查是否安装成功

image-20240222235325248

3、学习go-micro命令

使用go-micro --help可以查看所有命令,接下来是对一些命令的解释和示例

COMMANDS

  1. call: 该命令用于调用一个服务。
    • 示例:go-micro call helloworld Helloworld.Call '{"name": "John"}'
    • 这个示例调用了名为 helloworld 的服务中的 Helloworld.Call 方法,传递了一个 JSON 格式的参数 {"name": "John"}
  2. completion: 该命令用于输出指定 shell(bash 或 zsh)的 shell 自动补全代码。
    • 示例:go-micro completion bash
    • 这个示例输出适用于 bash shell 的自动补全代码。
  3. describe: 该命令用于描述一个资源。
    • 示例:go-micro describe helloworld
    • 这个示例描述了名为 helloworld 的资源。
  4. generate: 该命令用于在事后生成项目模板文件。
    • 示例:go-micro generate
    • 这个示例在当前目录下生成项目模板文件。
  5. new: 该命令用于创建一个新的项目模板。
    • 示例:go-micro new helloworld
    • 这个示例创建了一个名为 helloworld 的新项目模板。
  6. run: 该命令用于构建并持续运行一个服务。
    • 示例:go-micro run github.com/auditemarlow/helloworld
    • 这个示例构建并持续运行了位于 github.com/auditemarlow/helloworld 的服务。
  7. services: 该命令用于列出注册中心中的服务。
    • 示例:go-micro services
    • 这个示例列出了注册中心中的所有服务。
  8. stream: 该命令用于创建一个服务流(service stream)。
    • 示例:go-micro stream helloworld
    • 这个示例创建了一个名为 helloworld 的服务流。

GLOBAL OPTIONS

  1. –auth: 用于设置角色基础访问控制的身份验证。例如,--auth service
  2. –auth_id: 用于客户端身份验证的账户ID。
  3. –auth_namespace: 设置用于服务身份验证账户的命名空间,默认为 “go.micro”。
  4. –auth_private_key–auth_public_key: 用于JWT身份验证的私钥和公钥,以base64编码的PEM格式提供。
  5. –auth_secret: 客户端身份验证的账户密钥。
  6. –broker: 用于发布/订阅的消息代理,支持的选项有 http、nats 和 RabbitMQ。
  7. –broker_address: 消息代理的地址,使用逗号分隔的地址列表。
  8. –client: go-micro 的客户端类型,默认为 rpc。
  9. –client_pool_size: 设置客户端连接池的大小,默认为1。
  10. –client_pool_ttl: 设置客户端连接池的生存时间,默认为1分钟。
  11. –client_request_timeout: 设置客户端请求超时时间,默认为5秒。
  12. –client_retries: 设置客户端的重试次数,默认为1次。
  13. –config: 用于指定配置的来源。
  14. –help, -h: 显示帮助信息。
  15. –profile: 用于调试分析CPU和内存统计信息。
  16. –register_interval–register_ttl: 分别设置服务注册的间隔和TTL(Time To Live)时间。
  17. –registry: 设置服务发现的注册中心,支持的选项有 etcd 和 mdns。
  18. –registry_address: 用于服务发现的注册中心地址,使用逗号分隔的地址列表。
  19. –runtime–runtime_source: 设置构建和运行服务的运行时。
  20. –selector: 用于选择节点进行查询的选择器。
  21. –server: go-micro 的服务器类型,默认为 rpc。
  22. –server_address: 设置服务器的绑定地址,默认为 “127.0.0.1:8080”。
  23. –server_advertise: 在注册发现时使用的地址。
  24. –server_id: 服务器的ID,如果未指定,则自动生成。
  25. –server_metadata: 用于定义服务器元数据的键值对列表。
  26. –server_name: 服务器的名称。
  27. –server_version: 服务器的版本号。
  28. –store: 用于键值存储的存储引擎。
  29. –store_address: 用于键值存储的地址列表。
  30. –store_database–store_table: 用于指定存储引擎的数据库和表。
  31. –tracer: 用于分布式跟踪的跟踪器,支持的选项有 memory 和 jaeger。
  32. –tracer_address: 用于分布式跟踪的地址列表。
  33. –transport: 用于传输的传输机制,目前仅支持 http。
  34. –transport_address: 用于传输的地址列表。
  35. –version, -v: 打印版本信息。
  • 标题: go-micro命令行学习
  • 作者: Olivia的小跟班
  • 创建于 : 2024-02-22 23:50:11
  • 更新于 : 2024-02-22 23:58:46
  • 链接: https://www.youandgentleness.cn/2024/02/22/go-micro命令行学习/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论