微服务_Micro环境配置及服务启动

本文介绍了Micro微服务生态系统的环境安装和使用步骤,包括创建服务、启动Consul监管、进行RPC服务操作及升级到gRPC版本。通过修改相关代码并重启程序,实现了服务的成功调用与验证。
摘要由CSDN通过智能技术生成

六.Micro

Micro是一个专注于简化分布式系统开发的微服务生态系统,是一个工具集合,其含义类似beego中的bee.

环境安装
下载micro
go get -u -v github.com/go-log/log
go get -u -v github.com/gorilla/handlers 
go get -u -v github.com/gorilla/mux
go get -u -v github.com/gorilla/websocket
go get -u -v github.com/mitchellh/hashstructure
go get -u -v github.com/nlopes/slack
go get -u -v github.com/pborman/uuid
go get -u -v github.com/pkg/errors
go get -u -v github.com/serenize/snaker
# hashicorp_consul.zip包解压在github.com/hashicorp/consul
unzip hashicorp_consul.zip -d github.com/hashicorp/consul
# miekg_dns.zip 包解压在github.com/miekg/dns
unzip miekg_dns.zip -d github.com/miekg/dns
go get github.com/micro/micro

# 编译安装micro
cd $GOPATH/src/github.com/micro/micro
go build   -o micro  main.go 
sudo cp micro /bin/

# 插件安装
go get -u -v github.com/golang/protobuf/{
   proto,protoc-gen-go}
go get -u -v github.com/micro/protoc-gen-micro
micro演示

micro 是默认使用rpc框架的

micro new [command optionts ]_[arguments…]

–namespace “go.micro” # 服务的命名空间 e.g com.example

–type “srv” # 服务类型,e.g api, fnc, srv, web

–fqdn # 服务的正式定义全面 e.g com.example.srv.service (默认为 namespace.type.alias)

–alias # 别名

  • 创建服务端
micro new --type "srv" micro/rpc/srv  #micro是相对于go/src下的文件夹名称

.
├── main.go
├── plugin.go 	 # 插件
├── handler	 	 # 被调用函数
│   └── example.go
├── subscriber   # 订阅服务
│   └── example.go
├── proto/example # proto协议
│   └── example.proto
├── Dockerfile	 # docker生成文件 
├── Makefile
└── README.md

文件会生成在$GOPATH/src/micro/rpc/srv下

  • 创建web
micro new --type "web" micro/rpc/web

.
├── main.go
├── plugin.go
├── handler
│   └── handler.go
├── html 		# 前端页面
│   └── index.html
├── Dockerfile
├── Makefile
└── README.md

文件会默认生成在$GOPATH/src/micro/rpc/web下

  • 启动consul进行监管
consul agent -dev
  • 对srv服务操作
cd /home/eric/go/src/micro/rpc/srv
protoc --proto_path=. --go_out=. --micro_out=. proto/example/example.proto
# 这时进入 proto/example 查看多了 example.micro.go  example.pb.go 两个文件

#如果报错就按照提示将包进行下载
go get -u github.com/golang/protobuf/{
   proto,protoc-gen-go}
go get -u github.com/micro/protoc-gen-micro
#如果还不行就把以前的包删掉从新下载
  • 对web端main.go进行修改

只在17行添加了端口

package main

import (
        "github.com/micro/go-log"
	"net/http"

        <
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值