![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
weixin_44575411
这个作者很懒,什么都没留下…
展开
-
go语言实现GRPC远程调用
protobuf协议定义创建一个 protobuf package,如: my_rpc_proto;在$GOPATH/src/下创建 /my_grpc_proto/文件夹里面创建 protobuf协议文件 helloServer.proto#到工作目录$ CD $GOPATH/src/#创建目录$ mkdir grpc/myproto#进入目录$ cd grpc/myproto#创建proto文件$ vim helloServer.proto文件内容syntax = "proto3原创 2020-06-21 21:21:19 · 530 阅读 · 0 评论 -
Go micor 入门
1.1.1. go-micro简介 Go Micro是一个插件化的基础框架,基于此可以构建微服务,Micro的设计哲学是可插拔的插件化架构在架构之外,它默认实现了consul作为服务发现(2019年源码修改了默认使用mdns),通过http进行通信,通过protobuf和json进行编解码1.1.2. go-micro的主要功能服务发现:自动服务注册和名称解析。服务发现是微服务开发的核心。当服务A需要与服务B通话时,它需要该服务的位置。默认发现机制是多播DNS(mdns),一种零配置系统。您可以选原创 2020-05-29 16:53:27 · 175 阅读 · 0 评论 -
6.使用Go向Consul注册的基本方法
编写注册函数package utilsimport ( consulapi "github.com/hashicorp/consul/api" "log")func RegService() { config := consulapi.DefaultConfig() config.Address = "192.168.3.14:8500" reg := consulapi.AgentServiceRegistration{} reg.Name =原创 2020-05-29 16:14:37 · 361 阅读 · 0 评论 -
5.服务注册与发现Consul,简学API,手动注册和删除服务
今天我们在这里入手,开始学习:使用Go向Consul注册服务的基本方法package mainimport (httptransport "github.com/go-kit/kit/transport/http"mymux "github.com/gorilla/mux""gomicro/Services""net/http")func main() { user := Services.UserService{} endp := Services.GenUserEn原创 2020-05-29 16:12:01 · 611 阅读 · 0 评论 -
4.通过HttpMethod执行不同的服务方法
通过HttpMethod执行不同的服务方法:代码实现如下:package Servicesimport ( "context" "fmt" "github.com/go-kit/kit/endpoint")type UserRequest struct { //封装User请求结构体,包含参数名和方法 Uid int `json:"uid"` Method string}type UserResponse struct { Resul原创 2020-05-29 16:05:45 · 140 阅读 · 0 评论 -
3.让我们的服务支持外部路由
package mainimport ( httptransport "github.com/go-kit/kit/transport/http" "github.com/gorilla/mux" "gomicro/Services" "net/http")func main() { user := Services.UserService{} endp := Services.GenUserEnPoint(user) serverHan.原创 2020-05-29 16:02:32 · 81 阅读 · 0 评论 -
2.搭建第一个http服务:三层架构
搭建微服务的三层架构代码如下:package mainimport ( "github.com/go-kit/kit/transport/http" "gomicro/Services")func main() { user := Services.UserService{} endp := Services.GenUserEnPoint(user) http.NewServer(endp, Services.DecodeUserRequest, Se原创 2020-05-29 15:47:08 · 158 阅读 · 0 评论 -
Go kit(1)微服务入门
1.基础入门第一步创建UserServicepackage Servicestype IUserService interface { GetName(userid int) string}type UserService struct{}func (this UserService) GetName(userid int) string { if userid == 101 { return "jerry" } return "guest"原创 2020-05-29 15:43:36 · 285 阅读 · 0 评论