文档首页 > > 快速入门> Go 微服务开发部署

Go 微服务开发部署

分享
更新时间:2020/09/11 GMT+08:00

go chassis是一个开源社区提供的微服务开发框架,可以帮助快速进行业务微服务化开发,以下提供手把手的指南来完成微服务的开发与部署。

前提条件

  • 已了解如何购买ServiceComb微服务引擎且购买了ServiceComb微服务引擎,相关操作请参考购买ServiceComb引擎
  • 熟练掌握Docker使用。
  • 了解如何购买CCE,作为部署系统使用,或是直接使用CCI进行部署。
  • 对go编程已有一定了解,并能熟练使用某个IDE进行开发。
  • 掌握go mod,用于管理工程依赖。
  • 安装go1.12+。

安装

在根目录下编辑go.mod。

module github.com/{your_org_name}/{your_project_name}

require (
    github.com/go-chassis/go-chassis v1.8.3
    github.com/go-chassis/go-chassis-cloud v0.2.0
)

如果由于网络问题导致依赖包无法下载,请使用公共代理。

export GOPROXY=https://goproxy.io

Go语言开发环境参照官方文档

服务运行原理

服务运行原理及说明如下。

  • consumer与provider是开发者开发出的微服务。
  • 开发者到控制台购买ServiceComb专享引擎,并将服务连接到引擎上使用。
  • 服务通过注册到Service center中让别的服务发现地址以实现通信,通过配置管理服务管理配置项。

本地开发

go chassis提供2种开发模式,分别对应不同的通信协议,请选择其中一个协议进行体验。

在完成本地开发后,可以使用ServiceStage进行部署、托管与运维。

使用ServiceComb微服务引擎

ServiceStage提供微服务引擎托管注册发现与配置管理等服务。

  1. 配置AK/SK。

    根据如何获取AK/SK?,然后在go chassis配置文件中设置AK/SK,才可访问微服务引擎。

    配置文件路径:conf/auth.yaml,示例如下。

    cse:
      credentials:
        accessKey: #配置AK
        secretKey: #配置SK
  2. 连接引擎。

    引入所需扩展插件,确保此行在认证插件之后,示例如下。

    import _ "github.com/go-chassis/go-chassis-cloud/provider/huawei/engine"

    配置文件conf/chassis.yaml,指定引擎名称(如何获取请参考查看微服务引擎地址,专业版名为"default"),配置项如下。

    servicecomb:
      engine:
        name:test-engine

    go chassis将自动发现所需服务的Endpoint,并自动配置,免用户配置。

  3. 微服务运行数据上报。

    微服务可以将服务指标上报给Dashboard服务,请参考查看仪表盘数据

    引入上报插件,示例如下。

    import _ "github.com/huaweicse/cse-collector"

    确保处理链中引入了熔断器,示例如下。

    handler:
      chain:
        Consumer:
          default: bizkeeper-consumer, router, loadbalance,transport

部署

可以使用已经准备好的样例代码进行部署,样例Demo包含order与payment两个服务,order服务调用payment服务后会返回一个字符串。

  1. 打包payment和order的镜像。

    首先选择上传到某个region的swr,比如swr.cn-north-1.myhuaweicloud.com,在该region的软件中心创建组织,比如demo,具体参考创建组织。示例命令如下。

    sudo docker build . -t swr.cn-north-1.myhuaweicloud.com/demo/order:1.0
    sudo docker build . -t swr.cn-north-1.myhuaweicloud.com/demo/payment:1.0
  2. 上传镜像

    登录ServiceStage,进入软件中心,通过界面上传,请参考上传镜像

  3. 部署应用组件
    • 前提条件
      1. 已经创建应用。
      2. 已经创建环境,环境包含CCE集群、elb及微服务引擎等资源。
    • 部署payment组件
      1. 登录ServiceStage控制台,在已经创建的应用下新增组件,组件类型选择:微服务。

      2. 填写基本信息,组件名称输入:payment,框架选择“Go chassis”,运行环境选择“Docker”。

      3. 单击“创建并部署”,设置基本配置,设置选择环境,部署集群,实例数选择1即可。

      4. 设置组件配置信息,选择2中上传的payment组件镜像,设置ServiceComb微服务引擎,其他参数使用默认配置。

      5. 规格确认,提交后开始部署组件,等待组件部署完成。
    • 部署order组件

      部署过程请参考部署payment组件,应用组件名称输入:order,开启外网访问,应用端口填写5000,其他设置与payment应用组件类似。

验证结果

等待2个组件全部部署完成,点击外网访问地址。调用对应接口API“/v1/order”,返回字符串,如下图所示。

接下来

您可以体验如下更多功能。

- 运维

- 运行时治理

- 动态配置管理

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问