• 回答数

    2

  • 浏览数

    130

依锦风韵
首页 > 期刊论文 > 微服务论文参考文献

2个回答 默认排序
  • 默认排序
  • 按时间排序

我喜欢小吃

已采纳

• 随着 2022 年 3 月 15 日 go 1.18 正式发布,新版本除了对性能的提升之外,还引入了很多新功能,其中就有 go 期盼已久的功能泛型(Generics),同时还引入的多模块工作区(Workspaces)和模糊测试(Fuzzing)。

• 关于泛型网上已经有很多介绍的教程了,这里我介绍一个实用的功能,多模块工作区的使用方法和教程。

• Go 多模块工作区能够使开发者能够更容易地同时处理多个模块的工作,如:

• 多模块工作区

• 开发流程演示

• 总结

• 参考文献

• go 使用的是多模块工作区,可以让开发者更容易同时处理多个模块的开发。在 Go 1.17 之前,只能使用 go.mod replace 指令来实现,如果你正巧是同时进行多个模块的开发,使用它可能是很痛苦的。每次当你想要提交代码的时候,都不得不删除掉 go.mod 中的 replace 才能使模块稳定的发布版本。 •在使用 go 1.18 多模块工作区功能的时候,就使用这项工作变得简单容易处理。下面我来介绍怎么使用这一功能。• Go 多模块工作区文档、代码示例[5]

• 首先 我们需要 go 1.18 或更高版本 go 安装[6]

• 通常情况下,建议不要提交 go.work 文件到 git 上,因为它主要用于本地代码开发。

• 推荐在: $GOPATH 路径下执行,生成 go.work 文件

• go work init 初始化工作区文件,用于生成 go.work 工作区文件

• go work use 添加新的模块到工作区

• go work edit 用于编辑 go.work 文件

• go work sync 将工作区的构建列表同步到工作区的模块

• go env GOWORK

• 文件结构和 go.mod 文件结构类似,支持 Go 版本号、指定工作区和需要替换的仓库 •文件结构示例:

• 可以使用 go work use hello 添加模块,也可以手动修改 go.work 工作区添加新的模块 •在工作区中添加了模块路径,编译的时候会自动使用 use 中的本地代码进行代码编译,和 replaces 功能类似。

• replaces 命令与 go.mod 指令相同,用于替换项目中依赖的仓库地址 •需要注意的是 replaces 和 use 不能同时指定相同的本地路径

• 错误示例

• 在同时使用 go.work 和 go.mod replace 功能的的时候分别指定不同的代码仓库路径, go.work 优先级高于 go.mod 中定义

• 在代码构建时候使用的是 go.work 指定的 example1 仓库的代码, go.work 优先级别更高

• 在 Go 1.18 go run 和 go build 都会默认使用工作区功能 • GOWORK 也可以指定配置 go.work 文件位置

• Go 全局变量 GOWORK 设置 off 则可以禁用工作区功能

• 演示如何使用多模块工作区功能。在现在微服务盛行的年代,一个人会维护多个代码仓库,很多的时候是多个仓库进行同时开发

• 假设我们现在进行 hello 仓库开发,实现的功能是,实现将输入的字符串反转并输出,字符串反转功能依赖于 github.com/link1st/example (下文统称 example )公共仓库实现

• 新建 hello 项目

• main.go 代码

• 运行代码 go run main.go -str "hello world" 或 go run github.com/link1st/link1st/workspaces/hello -str "hello world" 可以看到输出了 hello world 反转以后的字符串

• 到这里,最初的功能已经完成,但是后续需求变动,不仅需要输出反转以后的字符串,还需要将字符串大写

• 我们则需要去 example 仓库中添加开发 将字符串大写的功能

• vim example/stringutil/to_upper.go 代码如下

• 由于代码还在本地调试,未提交 git 仓库中,这个时候就需要用到 Go 多模块工作区的功能了。

• 进入项目根目录,初始化我们现在正在开发的模块

• 文件结构如下

• 回到 hello 项目, vim main.go 将字符串大写的功能添加上。

• 运行代码

• 到这里,演示的代码已经全部完成

• 使用 Go 多模块工作区的功能,可以让我们轻松在多个模块之间切换工作,更能适应现代微服务架构开发。

[1] Go 1.18 新特性多模块工作区教程: [2] Go 1.18 is released!: [3] Tutorial: Getting started with multi-module workspaces: [4] go-1.18-features:

163 评论

以心为马

在传统的单应用架构下,接口的日志监控还是非常简单的,但是随着分布式、微服务架构的兴起,我们会面对更为复杂的服务交互关系; 也就是说,以往的系统,更多的是A系统调用B系统,而现在可能面对这A->B->C->D,而在这种情况下,如果没有链路跟踪的方案,那么查找和定位问题就会非常困难。理论基础 Google公司研发了Dapper分布式跟踪系统,并发表了论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》; 目前行业内大部分的分布式跟踪方案都是基于这篇论文来实现的;这篇论文中提到了几个比较重要的概念:A:parentId=null、spanId=1; B:parentId=1、spanId=2; C:parentId=2、spanId=3; D:parentId=2、spanId=4;实现方案 我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。 集成zipkin或者spring cloud sleuth都可以的

252 评论

相关问答

  • 邮轮服务论文参考文献

    进入80年代以来,我国旅游业蓬勃发展,旅游业已经成为国民经济的新的增长点,越来越多的旅游城市提出将旅游业发展成为支柱产业。下面是我整理的旅游学术论文,希望你能从

    南瓜囡囡 2人参与回答 2023-12-05
  • 2018服务营销论文参考文献

    市场营销毕业论文参考文献汇总 充实的大学生活即将结束,毕业论文是每个大学生都必须通过的,毕业论文是一种有计划的、比较正规的检验学生学习成果的形式,那要怎么写好毕

    太白小君 3人参与回答 2023-12-09
  • 物流售后服务客服论文参考文献

    买本书吧:物流客户服务,书里面会有体现第一章 物流客户服务基本概念.第一节 客户与服务第二节 客户服务理念分析第三节 物流客户服务第工章 物流客户行为研究与市场

    龙真妈妈 2人参与回答 2023-12-11
  • 微服务论文参考文献

    • 随着 2022 年 3 月 15 日 go 1.18 正式发布,新版本除了对性能的提升之外,还引入了很多新功能,其中就有 go 期盼已久的功能泛型(Gene

    依锦风韵 2人参与回答 2023-12-07
  • 微笑服务论文参考文献

    我的选修服务营销论文,拼凑的 “好态度吸引回头客” ——————服务态度决定服务质量 论文摘要:消费者想要得到好的产品服务,人员的态度很重要。“获得一个新顾

    雨丰是小兔 2人参与回答 2023-12-09