博主信息
Sky
博文
291
粉丝
0
评论
0
访问量
7257
积分:0
P豆:617

thrift 服务代理搭建

2021年10月20日 20:26:30阅读数:13博客 / Sky

tcp代理对多种协议测试

代理测试thrift推荐代理测试redis 推荐代理测试websocket 不推荐代理测试http/https不推荐

其实不建议使用 tcp 进行代理,因为太简单了

tcp代理特点

流式数据及无状态数据(没有 header/ cookie)推荐使用对服务管控制比较少,只能做流量控制及请求来源限制如果有对应协议代理推荐使用对应协议代理 ‘http/websocket’

tcp代理测试thrift

thrift安装参考: thrift.apache.org/docs/install/thrift介绍Facebook的一个开源项目,后来进入Apache进行孵化Thrift也是支持跨语言的,所以它有自己的一套IDLThrift的网络协议建立在TCP协议基础上目前主要功能是支持rpc方法调用构建thrift测试server与client代理测试

构建thrift测试server与client

首先编写 thrift_ gen.thnift thrift 配置文件运行IDL生成命令,生成对应语言 server/client 结构体
’thrift --gen go thrift_gen.thrift`使用生成的IDL单独构建 server 与 client 即可

首先编写 thrift_ gen.thnift thrift 配置文件

pratise/proxy/thrift_server_client/thrift_ gen.thnift

namespace go thrift_genstruct Data {
   1: string text}service format_data {
   Data do_format(1:Data data),}

进入目录 pratise/proxy/thrift_server_client 执行 模板代码生成命令 thrift --gen go thrift_gen.thrift

/d/Dev/env/thrift014/thrift014.exe --gen go thrift_gen.thnift

然后就会生成目录: pratise/proxy/thrift_server_client/gen-go

注意

thrift 命令版本,与golang 项目安装版本<a rel="dofollow" href="https://www.fgba.net/" title="域名交易"><span style="color: rgba(77, 77, 77, 1)">域名交易</span></a>需要保持一致。
否则生成代码可能报错

查看版本方法

$ /d/Dev/env/thrift014/thrift011.exe --version
Thrift version 0.14.2

使用生成的 IDL单独构建 server 与 client

客户端代码:pratise/proxy/thrift_server_client/thriftclient_main/main.go
服务端代码:pratise/proxy/thrift_server_client/thriftserver_main/main.go

测试 server 与 client

启动 服务端代码:pratise/proxy/thrift_server_client/thriftserver_main/main.go
启动 客户端代码:pratise/proxy/thrift_server_client/thriftclient_main/main.go

出现安装 thrift 0.11.0 版本失败问题

处理方法:自己把 thrift 0.11.0 版本代码下载下来。自己发布一个 go module

测试

# 启动服务器go run thriftserver_v1/main.go# 启动 客户端go run thriftclient_v1/main.go

拷贝:D:\Dev\env\golang\bin\pkg\mod\git.apache.org\thrift.git@v0.14.2\tutorial\go\src

main true 运行 服务端
接下来,打开另一个terminal,把main函数里的server那里按上一节说的改成false,再运行,就是客户端了。

Administrator@DESKTOP-U15QB8I MINGW64 /d/Dev/workplace/golang/gateway_v1/pratise/proxy/thrift_server_client/thrift_v1 (master)$ go run main.go server.go client.go handler.gohandler.go:25:2: package shared is not in GOROOT (D:\Dev\env\golang\src\shared)server.go:26:2: package tutorial is not in GOROOT (D:\Dev\env\golang\src\


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 使用node.js怎么本地器?下面本篇文章就来给大家介绍一下node.js本地器的方法,希望对大家有所帮助!
    PHP教程:1、使用命令“yum install httpd”将Apache安装;2、输入“yum install mysql mysql-server”安装MySQL;3、执行“yum install
    win7本地php环境的方法:首先安装配置Apache;然后下载PHP并配置php.ini;最后重启Apache器即可。
    本文将由phpmyadmin教程栏目给大家介绍phpMyAdmin及管多台数据库器的方法,希望对需要的朋友有所帮助!
    下面由Laravel教程栏目给大家介绍laravel-echo-server广播,希望对需要的朋友有所帮助!
    ​linux器的方法:首先安装apache,修改防火墙配置文件,开放80端口;然后安装mysql,修改防火墙配置文件,开启3306端口;最后安装php即可。
    使用Node.jsWeb器是学习Node.js比较全面的入门教程,因为实现Web器需要用到几个比较重要的模块:http模块、文件系统、url解析模块、路径解析模块、以及301重定向技术等,
    下面由centos系统入门教程栏目给大家介绍CentOS7Gitlab器的方法,希望对需要的朋友有所帮助!
    当我们在器上安装好了vsftpd这个软件后,并且已经解该软件的主配置文件/etc/vsftpd/vsftpd.conf后,我们就可以出自己想要的ftp了。
    演示Gitlab器环境,点击跳转至CentOS7下载地址,直接下载第二个CentOS-7-x86_64-DVD-2003.iso 即可,大小为4.5G,需要耐心等待。
    php本地器的方法是:首先下载【WampServer】,选择“next”下一步完成安装;接着打开软件,选择语言【Chinese】;然后单击软件小图标,选择www目录;最后选择phpmyadmin
    windows系统:本文为大家介绍了在windows系统上正确kms器的流程,具有一定的参考价值,希望能对大家有所帮助。
    本地计算机如何使用器方法 1:手动设置方法 2:自动设置,直接使用命令行修改
    运行时监视器是一个类似于windows进程管器的工具,但是比系统自带的又更加直观,功能更人性化,打开后可以查看,任,进程,,连接,而windows进程管器是不能查看和连接的。
    本篇文章给大家使用Node.js一个简单的 HTTP 器来试着操纵计算机资源。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    在本地和器之间进行文件传输。
    今天开始弄个 `linux centos` 的系列文章,从购买器,安装宝塔面板,`svn`远程办公,还有一些器其他知识。
    之前在了lamp环境,想换用性能更强的nginx作为器软件,又想将php5升级为php7...
    thrift采用接口描述语言定义和创,用二进制格式传输数据,体积更小、效率更高,对于高并发、数据量大和多语言的环境有更好的支持。
    Docker管面板,可以把器端软件应用的安装行为简化到极致,堪称器端的应用宝,具有集群管、自动故障转移、自动负载均衡等高级功能,可轻易7*24小时在线的网站运行环境。