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

这篇具有很好参考价值的文章主要介绍了【Tars-go】腾讯微服务框架学习使用01--初始化服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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
    

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

看项目目录结构

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

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文件

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

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

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

服务启动成功了!

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

go run client.go

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

成功调用服务!文章来源地址https://www.toymoban.com/news/detail-852647.html

到了这里,关于【Tars-go】腾讯微服务框架学习使用01--初始化服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【go零基础】go-zero从零基础学习到实战教程 - 2项目初始化

    到项目初始化过程了,这边的项目设计完全按照作者自己的喜好来进行定义和设置的,所以各位完全可以按照自己的偏好自喜设置哈。 首先是创建一个工作文件夹哈。 别问为啥不直接quickstart,因为quickstart生成的api名字是greet,改起来很麻烦(头秃)。 注1: go-zero-demo是我随便

    2024年04月26日
    浏览(36)
  • 使用腾讯云服务器+Nonebot2+go-cqhttp搭建QQ聊天机器人【保姆级教程 2023最新版】

    下载go-cqhttp 这里有不同版本的cqhttp,并且对每个版本都有介绍。但是大家可以看到有 arm与adm 不同的版本,这两个啥关系呢? 严格来说, AMD和ARM没有任何关系 。AMD是桌面级处理器和桌面级GPU的生产厂商,而ARM是移动级处理器的生产厂商。AMD是目前业内唯一一个可以提供高性能

    2023年04月18日
    浏览(36)
  • go web框架 gin-gonic源码解读01————Engine

    gin-gonic是go语言开发的轻量级web框架,性能优异,代码简洁,功能强大。有很多值得学习的地方,最近准备把这段时间学习gin的知识点,通过engine,context,router,middleware几篇博客文章总结总结。 而Engine是gin框架最核心的结构体。 为什么gin需要设计一个 Engine 结构体? 因为gi

    2024年02月14日
    浏览(29)
  • 从零构建深度学习推理框架-2 从CSV文件初始化Tensor

    概念 CSV(逗号分隔值)文件是一种特殊的文件类型,可在 Excel 中创建或编辑。CSV文件采用逗号分隔的形式来存储文本和数字信息,总体来说,这种形式的文件格式具有扩展性好,移植性强的特点。 目前许多主流程序采用CSV文件作为数据导入导出的 中间格式 ,例如MySQL数据库

    2024年02月15日
    浏览(35)
  • C++服务器框架01_日志系统01

    sylar/log.h

    2024年02月12日
    浏览(38)
  • 01 | Swoole与Go系列教程之HTTP服务的应用

    首发原文链接: Swoole与Go系列教程之HTTP服务的应用 大家好,我是码农先森。 PHP 曾是Web开发领域佼佼者,随着业务壮大,异步和高并发方面不足显现。Swoole 曾经尝试填补空白,但局限性也比较的明显。Go 语言的崛起,简洁语法和并发优势吸引大厂使用,吸引了大多数程序员的

    2024年03月24日
    浏览(26)
  • 微服务框架01--了解了解Spring Cloud

    Spring Cloud是基于Spring Boot的一整套实现微服务的框架。他提供了微服 务开发所需的配置管理、服务注册与发现、断路器、智能路由、微代理、控制 总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是跟 Spring Boot框架一起使用的话,会让你非常方便开发微

    2024年02月08日
    浏览(28)
  • 腾讯开源的深度学习框架 Clara —— 简洁而有力的解决方案

    作者:禅与计算机程序设计艺术 深度学习(Deep Learning)是一种基于神经网络的机器学习方法,它可以对输入数据进行高效、准确地分析、预测和分类,尤其在图像识别、自然语言处理、生物信息学等领域都取得了突破性的进步。 机器学习(Machine Learning)是一类计算机科学研

    2024年02月07日
    浏览(28)
  • Go自研微服务框架-参数处理

    sync.Pool用于存储那些被分配了但是没有被使用,但是未来可能被使用的值,这样可以不用再次分配内存,提高效率。 sync.Pool大小是可伸缩的,高负载是会动态扩容,存放在池中不活跃的对象会被自动清理。 首先我们来处理query参数,比如: http://xxx.com/user/add?id=1age=20username=张

    2024年01月20日
    浏览(38)
  • go kratos 微服务框架(笔记一)

    1.简介 B站基于Golang实现的一个轻量级开源的面向微服务的框架. Kratos框架不限制您使用任何第三方库来进行项目开发,因此您可以根据喜好来选择库进行集成。我们也会逐步针对更多被广泛使用的第三方库开发插件。 2.官方文档 https://go-kratos.dev/docs/ 3.架构图 特性: APIs:协议

    2024年02月06日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包