micro web

micro 功能非常强大,本文将详细阐述micro web 命令行的功能

阅读本文前你可能需要进行如下知识储备

本文应用环境

名称 描述 操作系统 win10 go version go version go1.12.7 windows/amd64 GOPATH E:winliongopath GOPROXY https://goproxy.io G111MODULE on 命令行工具 cmder工具,可自行百度安装

命令行说明

micro web指令全部参数如下

  • address 用来指定web访问地址,默认是8082端口,
  • namespace 用来指定开启web支持的服务空间,com.axample.web表示所有满足com.axample.web.*的应用都支持

典型应用场景

微信应用开发平台

www.xxx.comwww.xxx.comhttps://www.xxx.com/demo1/https://www.xxx.com/demo2/

服务名称 说明 访问地址 com.techidea8.web.www A公司的主域名 http://www.xxx.com/www/ com.techidea8.srv.wxmp A公司的微信服务,如签名、分享、菜单管理等 http://www.xxx.com/wxmp/ com.techidea8.web.attach A公司的资源上传服务 http://www.xxx.com/attach/ com.techidea8.web.pay A公司的支付服务 http://www.xxx.com/pay/ com.techidea8.web.account A公司的用户中心 http://www.xxx.com/account/ com.techidea8.web.article A公司的写作类平台 http://www.xxx.com/article/ com.techidea8.web.demo1 A公司的demo1应用 http://www.xxx.com/demo1/ com.techidea8.web.demox A公司的demox应用 http://www.xxx.com/demox/

a公司可以不断迭代业务,这个平台具备良好的扩张性。

分布式任务分发平台

com.techidea8.channel*

服务名称 说明 访问地址 com.techidea8.web.www 网站首页 http://www.xxx.com/www/ com.techidea8.web.attach 图片、资源等上传服务 http://www.xxx.com/attach/ com.techidea8.web.account 用户中心 http://www.xxx.com/account/ com.techidea8.web.article 文档中心 http://www.xxx.com/article/ com.techidea8.web.channelcsdn csdn渠道应用 http://www.xxx.com/channelcsdn/ com.techidea8.web.channeljuejin 掘金渠道应用 http://www.xxx.com/channeljuejin/

实战hello,world!

业务梳理

假设我们需要实现类似于如下千人千面功能,具体应用场景如下

  • 首页应用www,展示常用基本信息
  • 推荐支持,不同的用户(uuid标识),显示不同的内容

服务设计如下

服务名称 说明 访问地址 go.micro.web.www 系统首页 http://127.0.0.1:8082/www/ go.micro.srv.recommend 推荐服务 http://127.0.0.1:8082/www/guess

获得源代码并运行

重要的事情说3次micro web 源代码https://idea.techidea8.com/open/idea.shtml?id=7micro web 源代码https://idea.techidea8.com/open/idea.shtml?id=7micro web 源代码 https://idea.techidea8.com/open/idea.shtml?id=7

%GOPATH%srctechidea8.commicroappdocweb

依次执行如下指令即可

界面如下

服务运营效果

关于www应用细节

  • 创建应用框架

  • 设计proto文件,这里需要请求一个Guess接口

  • 通过proto生成go文件

  • 调用猜你喜欢服务,核心代码如下

  • 猜你喜欢restful接口支持/www/guess

  • 启动web服务

关于推荐服务recommend细节

  • 创建应用框架

  • 设计proto文件,这里需要请求一个Guess接口

  • 通过proto生成go文件

  • 实现推荐服务,核心代码如下

  • 取消事件相关特性

我们这里不考虑事件,所以将事件相关特性取消,先一出subscriber目录,然后修改main.go

  • 启动推荐服务