Go 语言进阶(三) -- 后端架构基础概念 架构发展 SOA(面向服务架构)、微服务架构、云计算、微服务服务治理

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

Go 后端架构

1. 初识架构

1.1 架构定义

  • 是有关软件整体结构与组件的抽象描述
  • 用于指导软件系统各个方面的设计

1.2 架构发展

​ 架构演进的思路:垂直切分——分布式,水平切分——分层/模块,以满足软件迭代诉求,提高迭代效率。

  • 单机架构

​ All in one,所有的东西都在一个进程里,部署在一个机器上。

​ 优点:简单

​ 缺点:运维需要停服,用户体验较差; 承载能力有限。

  • 单体架构

​ 在单机架构的基础上,将进程部署到多个机器上。

​ 优点:

​ 具备水平扩容能力

​ 运维不需要停服

​ 缺点:

​ 后端进程职责太多,越来越臃肿

​ 爆炸半径较大,进程中一个很小的模块出现问题,都可能导致整个进程崩溃

  • 垂直应用架构

​ 在单机架构基础上,将进程按照某种依据切分开。比如,A 软件和 B 软件的后端原先采用单机架构部署,那就是一个进程部署在多个机器上;如果用垂直应用架构,可以将 A 和 B 的后端拆分为 A、B 两个进程,然后再按照单体模式的思路,部署在多个机器上。

​ 优点:

​ 一定程度上减少了后端进程职责

​ 一定程度上缩小爆炸半径

​ 缺点:

​ 没有根本解决单体架构的问题

  • SOA (面向服务架构)

​ SOA 架构中,将进程按照不同的功能单元进行抽象,拆分为服务。有了服务之后,SOA 还为

go快速开发框架gin+vue快速开发后台管理(后端分离),极快接口api生成器,快到不写一行代码,10秒接口就可以调用 ​用 Go 语言基于Gin、Vue、Typescript、vite、Arco Design、MySQL等框架精心打造的一款模块化、插件化、高度自动化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统。本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式,同时为了敏捷快速开发,框架特地集成了代码生成器一键生成管理后台的前后端代码,快速开发或生成api接口代码和接口文档、测试api接口等编辑,完全自主研发了自定义GO后端服务模板和前端Vue自定义模板 阅读详情

相关推荐

如何用golang写一个自己的后端框架

如果你想要不使用任何现有的后端框架,完全从头开始创建一个后端框架,你需要实现Web服务器的基本组件,比如路由器、请求处理、中间件支持等。以下是一个简单的指南,用于创建一个基本的、不使用任何外部框架Go后端框架

willluckysmile的博客 1758

Go编程基础教程:Go微服务架构

作者:禅与计算机程序设计艺术 1.背景介绍 为什么需要微服务? 软件开发已经经历了几个阶段,从单体应用到模块化应用、SOA架构微服务架构。无论是在单体应用的层次还是在分布式架构的层次上,都要面临着架构演进的问题。微服务架构是一种新的架构模式,它通过将

AI天才研究院 164

主流Golang框架对比以及介绍

golang一些基本开发框架介绍以及对比

资深系统架构,深耕高并发研发与 AI 大模型工程化落地。技术栈以 Python (AI/NLP/RAG/Agent) 与 Golang (高并发架构) 为双核心,兼具 PHP 大型应用经验。专注算法落地、复杂系统设计及团队技术赋能 7509

GO语言学习(16)Gin后端框架

通过前面的基本学习,终于开始进入项目学习阶段。本文将主要介绍Go语言官方的后端框架Gin如何与前端数据交互,以及实现最基本的表单数据交互案例,而关于后端操作数据库的部分,将留在下一章进行详细讲解。前端和后端是软件开发中的两个重要部分,它们共同协作完成一个完整的产品或系统。通俗来说,前端就像餐厅的前台,负责接待顾客、展示菜单、处理顾客的点餐需求,后端就像餐厅的后厨,负责准备食材、烹饪菜肴、确保菜品按时送到前台,前端是用户看到的“表面”,负责展示和交互。后端是用户看不到的“幕后”,负责处理数据和逻辑。对比维度。

m0_61990598的博客 2503

golang后台管理系统Beego+Layui框架搭建教程

一款 Go 语言基于Beego、Layui、MySQL等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架。...

weixin_50196917的博客 4287

Go语言云原生与微服务(二)微服务概述

微服务概述 在上一章,我们介绍了云原生架构的相关概念Go语言云原生与微服务(一)云原生架构,并了解到微服务架构在云原生中占据着较为关键的位置,这一章我们聚焦到微服务上面。srices Architecure Patterm)架构Marin Fowler在2014年首次提出了微服务( Microservices )设计,其理念是特单体应用特化为多个可以独立开发、独立部署、独立运行和独立维护的服务成者应用的集合,从而满足业务快速变化以及多团队并行开发的需求。 微服务架构由多个相对独立的服务或者应用组成,所以具备

普通Gopher 1496

阿里云基于 Go微服务架构分享

作者介绍 花名聪心,阿里云技术专家,主要负责阿里云OpenAPI,Services  architectre 技术服务的实现。 云产品前端架构 众所周知,阿里是以 Java 开发为主,最近引用 GO微服务架构上面进行开发,本次分享也是围绕这个主题进行叙述。 图 1 图 1 所示,是我们最早期的前端微服务架构图,当时不存在API网关服务、天象全链路监控以及外部服务这几个模块

Go中国 2373

使用golang构建高可用微服务-概述

一路从PHP走来,再用go语言做应用,大部分都是单体应用,逻辑藕合高,特别是发展到一定规模的应用,加上开发者良莠不齐,很容易牵一发而动全身,使用微服务去构建高可用的服务,大势所趋.因此,本系列文章围绕"使用golang构建高可用微服务"这个话题去开展,结合实际的开发,边学边用,一步一个脚印深入.

不懂代码的猿 1529

Go语言高并发与微服务实战 - 学习笔记 第2章 微服务概述 2.1 系统架构的演进 2.1.4 微服务架构 & 2.1.5 云原生架构

Go语言高并发与微服务实战 - 学习笔记 第2章 微服务概述 2.1 系统架构的演进 2.1.4 微服务架构 & 2.1.5 云原生架构

代码改变世界 613

微服务架构深度解析微服务定义是什么?微服务与云原生有何关联?

微服务概述 微服务概念来源于Martin Fowler 的一篇知名博文 :MicroServices。在博文中,“微服务架构”这个术语用来描述一种将软件应用程序设计为可独立部署的服务套件的特定方式。 “细粒度自治服务”“自动化部署”“围绕业务能力”“端点智能”“语言和数据的分散控制”,从这些描述微服务架构特征的术语中,我们发现了一种越来越吸引人的软件系统风格。 微服务架构介绍 背景介绍 目前不仅各大互联网公司已经在大规模地应用微服务架构,而且传统行业也逐渐接受了这种架构模式,纷纷开始采用

公众号:该用户快成仙了 369

一文搞懂什么是云原生

容器:轻量级的虚拟化技术,能够在单一主机上提供多个隔离的操作系统环境,通过一系列的namespace进行进程隔离,容器分为运行时和编排两层,运行时负责容器的计算、存储、网络等,编排层负责容器集群的调度,服务发现和资源管理。首先云原生是和云计算分不开的,这里的云计算更多的指的是一种云上的资源,而云出现之前,市场还处在一个物理机时代,如果要启用一个新的应用,就得自己搭一台新的服务器,一直到2001年VM出现了,通过虚拟机可以在一台服务器上跑多个虚拟机来减少服务器的数量(同时也是减少了企业堆机子的钱)

m0_51078839的博客 503

届字节跳动青训营——架构学习

一、架构基础; 二、企业级后端架构后端架构的挑战; 四、后端架构实战

Remoa的休闲茶馆 1580

SpringCloud微服务实战

作者:禅与计算机程序设计艺术 1.简介 在微服务架构下,开发人员通常将应用拆分成一个个独立的服务,每个服务运行在自己的进程中,互相独立,互不干扰。因此,每个服务都需要独立的部署、测试、发布等一系列流程。而 Spring Cloud 是 Spring Framwork 的子项目,它为构建分布式系统提供了很

AI天才研究院 936

C++实现SOA核心机制:从服务注册发现到轻量级框架设计

面向服务架构SOA)是一种通过组合松耦合、可复用的自治服务来构建灵活系统的设计哲学,其核心在于降低系统组件间的依赖关系。在技术实现层面,SOA通常基于服务注册与发现机制,通过定义良好的接口实现服务间通信,从而提升系统的可扩展性和可维护性。这种架构模式在需要高性能和资源可控的场景中具有重要价值,例如嵌入式系统和高频交易等领域。本文以C++为例,通过模拟实现服务注册中心、轻量级服务总线和具体业务服务,深入探讨了SOA框架的设计原理与工程实践,为理解现代分布式系统基石提供了具体案例。

weixin_30546189的博客 375

Go必知必会系列:云原生与Serverless

作者:禅与计算机程序设计艺术 1.背景介绍 随着互联网应用规模越来越庞大、业务复杂度越来越高,传统的单体应用模式已经无法满足用户快速响应及业务快速变化的需求,因此出现了微服务架构模式来解决这一问题。微服务架构模式下,应用被拆分成多个小服务,每个服务运行在独立的进程中,通过API Gateway将调用

AI天才研究院 395

从技术基础到大AI时代:如何成为一名合格的软件架构

软件架构师既要负责宏观的技术规划,也要兼顾微观的实现细节。架构师在团队中承担“技术领航”的职责,需要将业务需求、技术实现和团队能力进行有机结合,设计出既满足当前需求,又具有弹性和可扩展性的系统方案。现在的软件架构不仅局限于应用层面,还需要考虑云计算、数据分析、大数据、人工智能等多个领域的融合,因此软件架构师需要拥有更为宽泛的知识面,具备快速学习和整合能力。在人工智能技术不断涌现的今天,软件架构师需要积极思考如何将 AI 技术与现有业务场景相融合,并在架构层面为 AI 服务提供可靠、可扩展的基础支撑。

nbsaas-boot基于Request-Response的企业级快速开发框架 1858

字节青训营——架构初探学习笔记

什么是企业服务总线?就是我们常说的 ESB(Enterprise Service Bus)。我们可以把服务总线当成用来连接分布式异构后端和前端系统的一种中间层软件服务,能够隐藏复杂性,简化数据处理过程。这种中间层软件服务通常被认为是一种系统集成组件,而对系统集成需求的剖析引出了服务总线的整体解决方案。

程哥哥的一亩三分地 710

常见微服务框架和对比分析

第一代微服务框架 SpringCloud SpringCloud 为开发者提供了快速构建分布式系统的通用模型的工具(包括配置管理、服务发现注册、 熔断器、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状 态、负载均衡、数据监控等) ...

小楼一夜听春雨,深巷明朝卖杏花 3542
上一篇: Go语言进阶(二) -- 编译原理基础、规则引擎设计与实现 词法分析 语法分析 语法数 上下文无关语法 巴科斯范式
下一篇: 系统设计 -- 分布式理论现代架构基石 拜占庭将军问题 CAP理论 ACID理论 BASE理论 MVCC RAFT协议
异已
博客等级 码龄8年 4粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值