# 概要
![img.png](./x-framework.png)
# 目的
在不修改http-server路由的前提下,通过新增微服务对功能进行扩展
# 目录说明
| 目录 | 描述 |
| --- | --- |
| gateway | 启动http server,并将路由转发给相应的grpc微服务|
| serv-1 | 微服务,处理具体功能|
| serv-2 | 微服务,处理具体功能|
| protobuf | gprc通信协议|
# 流程说明
* 用户通过浏览器提交所需服务的名称以及服务所需参数等信息,发送到http server;如图中所示,用户需要"serv-1"提供服务
* grpc-gateway通过路由参数,获取微服务名,然后通过grpc将消息转发给微服务
* 微服务处理完后,将结果通过grpc返回给http server
# 优势说明
* 依托k8s,可以很容易实现服务横向扩展;同时,k8s的service提供了负载均衡
* 新功能的添加不需要修改grpc-gateway, grpc-gateway不感知任何新功能的添加,只负责转发
* 微服务进行新功能处理,如果出现异常,不会影响其他功能模块。
# 执行
* 启动 gateway
```
$ cd gateway
$ go build .
$ ./gateway
```
* 启动 serv-1
```
$ cd serv-1
$ go build .
$ ./serv-1
```
* 启动 serv-2
```
$ cd serv-2
$ go build .
$ ./serv-2
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
读书笔记:http server服务+微服务框架设计.zip (30个子文件)
读书笔记:http server服务+微服务框架设计
grpc-gateway
x-framework.png 56KB
go.mod 143B
go.sum 11KB
serv-2
main.go 628B
Makefile 465B
protobuf
micro-serv.proto 1KB
.git
index 2KB
HEAD 23B
refs
heads
master 41B
tags
remotes
origin
master 41B
objects
pack
pack-8c79d9c39da15519781bf2d0ae6892b9002d00a5.idx 4KB
pack-8c79d9c39da15519781bf2d0ae6892b9002d00a5.pack 25.79MB
info
FETCH_HEAD 119B
logs
HEAD 130B
refs
heads
master 130B
remotes
origin
master 144B
hooks
config 256B
branches
gateway
grpc_router.go 902B
main.go 258B
.idea
.name 7B
watcherTasks.xml 202B
vcs.xml 235B
workspace.xml 4KB
modules.xml 274B
x-framework.iml 322B
serv-1
main.go 628B
pb
micro-serv.pb.go 8KB
micro-serv_grpc.pb.go 3KB
sendmsg.png 440KB
README.md 1KB
共 30 条
- 1
资源评论
九转成圣
- 粉丝: 5132
- 资源: 2961
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功