【Tars-go】腾讯微服务框架学习使用01--初始化服务

news2024/9/24 9:28:12

1 初始INIT-Demo运行

按照官网描述

  1. go get 安装框架依赖

    # < go 1.16
    go get -u github.com/TarsCloud/TarsGo/tars/tools/tarsgo
    go get -u github.com/TarsCloud/TarsGo/tars/tools/tars2go
    # >= go 1.16
    go install github.com/TarsCloud/TarsGo/tars/tools/tarsgo@latest
    go install github.com/TarsCloud/TarsGo/tars/tools/tars2go@latest
    

    Tasgo: 官方仓库: TarsCloud/TarsGo: A high performance microservice framework in golang. A linux foundation project. (github.com) 其中有很多exapmle看一看

  2. 使用命令创建服务

    我的go版本: 1.21.4

    TarsGo/tars/tools/tarsgo/README_ZH.md at master · TarsCloud/TarsGo (github.com)

    使用tarsgo命令:

    tarsgo make App Server Servant GoModuleName
    

    APP: app Name – 应用名称

    Server: 服务器名称

    Servant: 服务名称

    GoModuleName: go.mod 的模块名称

    tarsgo make App1 shanghai01 ai-admin xxx.com/ai
    

    请添加图片描述

看项目目录结构

请添加图片描述

shanghai01对外提供ai-admin的服务。

我是windows没法使用start.sh启动rpc服务

出现问题

go mod tidy 出现 xxx.com/ai/tars-protocol/App1 404 NOT FOUND

解决: 虽然 ai-admin.tars 已经被翻译成 ai-admin-imp.go但是还是得tars2go

tars2go -outdir=tars-protocol -module="xxx.com/ai" ai-admin.tars

ai-admin.tars 文件不能有- ,我把服务名换成了 Admin 重新make

tars2go -outdir=tars-protocol -module="xxx.com/ai" Admin.tars

服务端的对外提供的tars协议生成go文件

请添加图片描述

Admin_imp.go 在 Tars 中,每个服务都可以通过一个管理接口进行控制,这包括服务的部署、启动、停止等操作。Admin_imp.go 文件中通常包含了这些管理操作的具体实现代码。这意味着,当 Tars 管理系统发出指令(如停止服务、查询服务状态等)时,这些指令会被路由到 Admin_imp.go 中相应的函数进行处理。

使用 go run main.go --config=config/config.conf 但是样会出现.\main.go:17:13: undefined: AdminImp 因为go run 只会编译后面跟着的文件,main.go中依赖文件会被编译但是因为是同一包下,没有显式依赖,所以要么编译整个项目来启动要么go run .\main.go .\Admin_imp.go --config=config/config.conf

请添加图片描述

服务启动成功了!

shanghai01\client\client.go下提供了一个简单的客户端调用的示例:

go run client.go

请添加图片描述

成功调用服务!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1596077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见Spring相关工具报错-源码分析

常见Spring相关工具报错-源码分析 1. Resouce Bundle 国际化 yml 配置不生效 1. Resouce Bundle 国际化 yml 配置不生效 1️⃣ 配置yml 2️⃣ 报错信息 2024-04-15 15:13:57.828 [http-nio-8090-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - [doResolveHan…

spring boot 集成rocketMq + 基本使用

1. RocketMq基本概念 1. NameServer 每个NameServer结点之间是相互独立&#xff0c;彼此没有任何信息交互 启动NameServer。NameServer启动后监听端口&#xff0c;等待Broker、Producer、Consumer连接&#xff0c; 相当于一个路由控制中心。主要是用来保存topic路由信息&#…

python实验4

一、实验目的 掌握和使用进程池掌握和使用多线程掌握和使用互斥锁掌握协程的使用 二、实验内容 使用进程池计算区间内素数个数使用多线程计算区间内合数个数互斥锁的设计和使用异步状态转换器 三、实验环境 在Educoder平台进行实验 四、实验要求 根据每个实训的每个关卡要…

springCloudAlibaba集成seata实战(分布式事物详解)

一、分布式事务 1. 事务介绍 1.1 基础概念 事务&#xff1a;保证我们多个数据库操作的原子性&#xff0c;多个操作要么都成功要么都不成功 事务ACID原则 A&#xff08;Atomic&#xff09;原子性&#xff1a;构成事务的所有操作&#xff0c;要么都执行完成&#xff0c;要么全部…

使用冒泡排序模拟实现qsort函数

目录 冒泡排序qsort函数的使用1.使用qsort函数排序整型数据2.使用qsort函数排序结构数据 冒泡排序模拟实现qsort函数今日题目1. 字符串旋转结果2.杨氏矩阵3.猜凶手4.杨辉三角 总结 冒泡排序 冒泡排序的核心思想是:两两相邻的元素进行比较 代码如下: //⽅法1 void bubble_so…

ros-param添加参数控制rviz显示掉帧问题

在ros中有一套参数系统可以直接写到launch文件中&#xff0c;这样非常方便&#xff0c;不需要编译就能直接用&#xff0c;这对于c来说非常的有好&#xff0c;这里记录一下如何使用。 主要步骤如下&#xff1a; 首先初始化节点 使用nodehandle进行管理&#xff0c;然后通过param…

停车场道闸系统的实施流程有哪些安装注意事项?

随着城市交通压力的不断增加&#xff0c;停车场道闸系统的安装与优化成为了提升城市交通效率的关键环节。不同类型的停车场&#xff0c;如社区、园区、公共交通站点以及商业综合体等&#xff0c;都有其独特的运营特点和用户需求。因此&#xff0c;了解并掌握停车场道闸系统安装…

腾讯客户端开发实习一面

听说腾讯25年5000offer&#xff0c;我就去了...投完简历&#xff0c;当天晚上做完测评&#xff0c;第二天下午打电话约了第三天面试&#xff0c;额流程很快&#xff0c;快到第三天就寄了... 写在这里做个记录&#xff0c;也可以给学习学妹们经验&#xff0c;文末也有大厂面经合…

VSCode中vue的packag.json报错:unable to load schema from‘ http://json.schema‘...问题解决

package.json有这个报错&#xff0c;类似于这种问题一般是网络连接有问题&#xff0c;无法加载重启一下就好。 但是如果是没有网络或者云桌面等环境不能连接外网&#xff0c;就在设置中把这个设置一下&#xff0c;这样就不报错了&#xff0c;根据需要选择处理。

element问题总结之el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位问题

el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位 效果图前言解决方案纵向滑动滚动条滑动到底部的错位解决横向滚动条滑动到最右侧的错位解决 效果图 前言 在使用el-table固定行的时候移动滚动条会发现移动到底部或者移动到最右侧的时候会出现表头和内容错位或…

CentOS7使用Docker搭建Joplin Server并实现多端同步与公网使用本地笔记

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…

python怎么输出小数

先将整型转换成float型&#xff0c;再进行计算&#xff0c;结果就有小数了。 >>> a 10 >>> b 4 >>> c a/b >>> a,b,c (10, 4, 2) >>> a float(a) >>> d a/b >>> a,b,d (10.0, 4, 2.5) >>> 注意&…

ES6-2:Iterator、Proxy、Promise、生成器函数...

11-Iterator迭代器 打印出的是里面的内容&#xff0c;如果是for in打印出来的是索引&#xff0c;of不能遍历对象Symbol.iterator是js内置的&#xff0c;可以访问直接对象arr[Symbol.iterator]&#xff0c;()调用对象非线性一般不能迭代 后两个是伪数组&#xff0c;但是是真迭…

QT、ffmpeg视频监控分屏

1、支持分屏&#xff08;4&#xff0c;6&#xff0c;8&#xff0c;9&#xff0c;13&#xff0c;16&#xff0c;25&#xff0c;32&#xff0c;64&#xff09;切换 2、支持拖拽效果 3、支持播放mp4&#xff0c;rtmp等 4、本人亲测支持播放32路&#xff0c;64路没做测试 5、支持读…

12.文件浏览器

子程序参数的使用 1.可空的用法&#xff1b;表示这个参数不写也行。 2.如何使用递归 3.需要注意的事 递归的子程序必须有个退出的条件 注意区分递归和循环&#xff0c;不要混用 流程&#xff1a; 1.插入按钮&#xff0c;输入输出调试文本&#xff08;“按钮被单击”&…

Windows本地部署Ollama+qwen本地大语言模型Web交互界面并实现公网访问

文章目录 前言1. 运行Ollama2. 安装Open WebUI2.1 在Windows系统安装Docker2.2 使用Docker部署Open WebUI 3. 安装内网穿透工具4. 创建固定公网地址 前言 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并安装Open WebUI结合cpolar内网穿透软…

三次握手与四次挥手到底是怎么回事?

三次握手和四次挥手是TCP/IP协议中建立和断开连接的关键步骤&#xff0c;它们是保证可靠通信的重要机制。这里将探讨这两个概念&#xff0c;并解释它们背后的原理。 三次握手 三次握手用于建立TCP连接&#xff0c;它由客户端和服务器之间发送的三个报文组成&#xff1a; 第一次…

竞赛 基于Django与深度学习的股票预测系统

文章目录 0 前言1 课题背景2 实现效果3 Django框架4 数据整理5 模型准备和训练6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于Django与深度学习的股票预测系统 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff…

怎么使用JMeter进行性能测试?

一、简介 JMeter是Apache软件基金会下的一款开源的性能测试工具&#xff0c;完全由Java开发。它专注于对我们应用程序进行负载测试和性能测量&#xff0c;最初设计用于web应用程序&#xff0c;现在已经扩展到其他测试功能&#xff0c;比如&#xff1a;FTP、Database和LDAP等。…

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题5

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题5 第一阶段竞赛项目试题 本文件为信息安全管理与评估项目竞赛-第一阶段试题&#xff0c;第一阶段内容包括&#xff1a;网络平台搭建与设备安全防护。 本次比赛时间为180分钟。 介绍 竞赛阶段…