1.Micro的介绍
Micro解决了构建云本地系统的关键需求。它采用了微服务体系结构模式,并将其转换为一组工具,作为可伸缩平台的构建块。Micro隐藏了分布式系统的复杂性,并为开发人员提供了很好的理解概念。Micro是一个专注于简化分布式系统开发的微服务生态系统。是一个工具集合, 通过将微服务架构抽象成一组工具。隐藏了分布式系统的复杂性,为开发人员提供了更简洁的概念。
Micro是一个微服务架构的一个框架,是一个插件化的框架,默认支持protobuf、grpc、consul
2.Micro的安装
1$ go get -u -v github.com/go-log/log
2$ go get -u -v github.com/gorilla/handlers
3$ go get -u -v github.com/gorilla/mux
4$ go get -u -v github.com/gorilla/websocket
5$ go get -u -v github.com/mitchellh/hashstructure
6$ go get -u -v github.com/nlopes/slack
7$ go get -u -v github.com/pborman/uuid
8$ go get -u -v github.com/pkg/errors
9$ go get -u -v github.com/serenize/snaker
10 $ go get -u -v github.com/hashicorp/consul
11 $ go get -u -v github.com/miekg/dns
12 $ go get github.com/micro/micro (需要)
13 $ go get github.com/micro/go-web
3.编译安装micro
1 $ cd $GOPATH/src/github.com/micro/micro
2 $ go build-o micro main.go
3 $ sudo cp micro /bin/
4.插件安装
1 $ go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
2 $ go get -u github.com/micro/protoc-gen-micro
5.创建微服务命令说明
// 创建 通过指定相对于$GOPATH的目录路径,创建一个新的微服务。
micro new [command options][arguments...]
--namespace "go.micro"// 服务的命名空间
--type "srv"// 服务类型e.g api, fnc, srv, web
--fqdn// 服务的正式定义全名
--alias// 别名是在指定时作为组合名的一部分使用的短名称
micro run// 运行这个微服务时间
6.创建2个服务(一个srv,一个web)
进入GOPATH/src目录下,打开终端输入:
(1)创建srv服务
a. $ micro new --type "srv" micro/rpc/srv
文章图片
b. cd /home/sxf/go/src/micro/rpc/srv
c. protoc --proto_path=.:$GOPATH/src --go_out=. --micro_out=. proto/srv/srv.proto
文章图片
(2)创建web服务
$ micro new --type "web" micro/rpc/web
文章图片
7.启动服务
【micro的介绍、安装与使用】(1)打开一个终端1,启动consul服务:consul agent -dev
(2)另开一个终端2,运行web端:
cdgo/src/micro/rpc/web
go run main.go
文章图片
(3)另开一个终端3,运行srv端:
cdgo/src/micro/rpc/srv
go run main.go
文章图片
(4)打开浏览器输入127.0.0.1:8500,可以看到服务信息:
文章图片
(5)打开浏览器输入127.0.0.1:8080:
文章图片
推荐阅读
- 微服务|微服务系列:服务发现与注册-----Eureka(面试突击!你想了解的Eureka都在这里.持续更新中......)
- 每日一书|每日一书丨学习微服务最好的方式(阅读《微服务架构设计模式》)
- 架构设计|使用Axon Framework探索CQRS架构系列(一)(命令, 命令总线 和 命令处理组件)
- SpringBoot实体配置详解
- #|Spring Cloud 常用组件
- java|熔断的意义
- java|Spring Boot配置文件放在jar外部
- Spring|spring-cloud开发微服务笔记(二)(高可用Eureka注册中心的搭建与RestTemplate和Fengin客户端调用微服务示例)
- 为什么要使用微服务
- 微服务|Eureka的高可用以及服务提供者、服务消费者集群之间的调用方式