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
- 启动推荐服务