micro new [service]

micro new命令是为micro服务生成样板模板的快捷方式。

使用

通过指定相对于$GOPATH的目录路径来创建新服务。

1
micro new github.com/micro/foo

将运行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
micro new github.com/micro/foo

creating service go.micro.srv.foo
creating /Users/asim/checkouts/src/github.com/micro/foo
creating /Users/asim/checkouts/src/github.com/micro/foo/main.go
creating /Users/asim/checkouts/src/github.com/micro/foo/handler
creating /Users/asim/checkouts/src/github.com/micro/foo/handler/example.go
creating /Users/asim/checkouts/src/github.com/micro/foo/subscriber
creating /Users/asim/checkouts/src/github.com/micro/foo/subscriber/example.go
creating /Users/asim/checkouts/src/github.com/micro/foo/proto/example
creating /Users/asim/checkouts/src/github.com/micro/foo/proto/example/example.proto
creating /Users/asim/checkouts/src/github.com/micro/foo/Dockerfile
creating /Users/asim/checkouts/src/github.com/micro/foo/README.md

download protobuf for micro:

go get github.com/micro/protobuf/{proto,protoc-gen-go}

compile the proto file example.proto:

protoc -I/Users/asim/checkouts/src
--go_out=plugins=micro:/Users/asim/checkouts/src
/Users/asim/checkouts/src/github.com/micro/foo/proto/example/example.proto

选项

指定更多的选项,如名称空间、类型、fqdn和别名

1
micro new --fqdn com.example.srv.foo github.com/micro/foo

帮助

1
2
3
4
5
6
7
8
9
10
11
NAME:
micro new - Create a new micro service

USAGE:
micro new [command options] [arguments...]

OPTIONS:
--namespace "go.micro" Namespace for the service e.g com.example
--type "srv" Type of service e.g api, srv, web
--fqdn FQDN of service e.g com.example.srv.service (defaults to namespace.type.alias)
--alias Alias is the short name used as part of combined name if specified