Go最全GO语言:微服务--构建单体应用_golang 单体应用(1),2024年最新Golang架构师必备技术

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

从本篇文章开始,我们来开学了解学习微服务的相关知识。

单体应用

我们先不问微服务是什么?微服务该如何实现?让我们从我们原本最熟悉的创建一个应用和一个普通的项目开始说起。

打车系统

我们假设要开始开发一个打车应用,目标是与Uber和DiDi竞争。经过讨论和技术选型,我们开始手动开发生成一个新项目,该新应用有一个模块化的六边形架构,如下图所示:

该应用的核心是由模块实现的业务逻辑。它定义了服务、领域对象和事件。围绕核心的是与外部世界接口对接的适配器。适配器示例包括数据库访问组件、生产和消费消息的消息组件和暴露了 API 或实现了一个 UI 的 web 组件。

  • **单体应用:**所谓的单体应用就是指一个war包包含了项目的所有功能。比如上述举例的打车应用,尽管有一个逻辑模块化架构,但应用程序被作为一个单体进行打包和部署。例如,我们所熟知的许多Java应用程序被打包成WAR文件部署在如Tomcat或者Jetty之类的应用服务器上。其他Java应用程序被打包成可执行JAR包。
  • 单体应用的特点:
  • **容易开发:**开发者只需要在专用的开发工具上比如(Eclipse,myEclipse)等就可以管理整个项目代码,完成代码开发工作。
  • **容易运行和测试:**既然我们能够在本地开发工具上完成整个项目的功能开发和调试,自然也就很容易在我们本地环境上进行测试调试。
  • **容易部署:**正如我们在举例单体应用构建项目时所说,当应用程序开发,调试,测试完成以后,我们只需要将代码进行打包,然后将打包好的应用程序拷贝到服务器上进行部署即可。
互联网公司架构

再比如,我们拿一个常见的互联网公司的静态逻辑架构来举例,我们通过如下的架构图将系统切分成五层,如下图所示:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值