mirror of
https://gitee.com/arthas/arthas.git
synced 2024-11-29 18:58:37 +08:00
.. | ||
src | ||
ui | ||
pom.xml | ||
README.md |
Arthas-grpc
项目启动流程:
1. grpc-web代理服务配置
- 前端grpc-web请求ip和port配置: 配置文件
app.use(ViewUIPlus) .use(router) .provide("apiHost","http://localhost:8567") .mount('#app')
- 后端端口配置: 配置文件, 修改
GRPC_WEB_PROXY_PORT
变量,即可配置grpc-web代理服务端口。
若需要配置grpc服务端口和http页面服务端口, 分别修改GRPC_PORT
和HTTP_PORT
即可
*注意, 前后端grpc-web代理服务端口需一致(默认使用端口号: 8567)
2. 项目编译
mvn compile
3. 项目运行
启动 com.taobao.arthas.grpcweb.grpc.DemoBootstrap
4. 页面访问
启动后,命令行终端会打印出访问地址
Open your web browser and navigate to http://127.0.0.1:{http_port}/index.html
netty grpc web proxy
本项目中使用到的grpc-web代理服务
from: https://github.com/grpc/grpc-web/tree/1.4.2/src/connector
原项目已废弃删除,本项目改用 netty 来做转发。
缺点
原项目需要 .proto
文件编译的 .class
才能运行,比如GreeterGrpc
,本项目同样有这个问题。
测试
工程导入IDE之后,进入test目录
在 com.taobao.arthas.grpcweb.proxy.server.GrpcWebProxyServerTest 启动测试
也可以用原项目的相关工程来测试
开发验证
可以用其它的 grpc web proxy来抓包辅助验证。
用 envoy
下载envoy 后,可以用本项目里的envoy.yaml
envoy --config-path ./envoy.yaml
使用 grpcwebproxy
下载后,启动:
grpcwebproxy --backend_addr 127.0.0.1:9090 --run_tls_server=false --allow_all_origins