架构初探 | 青训营笔记

124 阅读4分钟

一、什么是架构

引言:在后端开发中,架构一般指软件系统的整体结构和组成方式,包括系统中各个模块的职责、接口设计、数据存储方案、网络协议等方面。 后端架构是一个复杂的系统工程,需要从多个方面进行设计和优化,以满足系统的性能、可扩展性、安全性以及可维护性等需求。有以下几个方面:

  1. 数据库设计:设计合理的数据表结构、索引以及一些相关的约束和规范。
  2. 后端框架:选择合适的语言和框架,如Java的Spring、Python的Django等,开发后端业务逻辑。
  3. 接口设计:设计良好的API接口,包括请求参数、返回结果、错误码等方面。
  4. 缓存和消息队列:优化系统的性能和可扩展性,采用缓存和消息队列等技术。
  5. 负载均衡和集群:通过负载均衡和集群技术,提高系统的性能和可靠性。
  6. 安全性:通过身份认证、权限控制等技术,确保系统的安全性和机密性。
  7. 服务部署和监控:设计和部署系统的服务体系,利用监控工具对系统进行实时监控,从而及时发现和解决潜在问题。

二、企业后端架构剖析

  • 云原生为例:云原生是一种基于云计算的软件开发和部署范式。云原生应用程序旨在以可扩展且高度可靠的方式运行于云服务环境中。云原生开发方法可用于构建能够在云环境下运行的应用程序和服务,以实现高度可伸缩性、弹性、高可用性和自动化管理等特性。
  • 云原生应用程序和服务最常见的构建块包括容器化应用、微服务架构、跨云平台编排和自动化管理技术等。应用程序和服务还可以利用云原生技术提供实时数据收集和分析、自适应性负载平衡、自动化伸缩和健康监控等服务。 image.png

三、作业

兰师傅蛋糕房要支持线上售卖了!请帮忙做整套系统的架构设计!需求:多端支持
微信/支付宝小程序 App 网页 ,使用云原生基础设施 ,用户画像很重要

这里写了一个简单的架构方案

  1. 前端:使用React或Vue等现代前端框架,分别开发微信/支付宝小程序、App和网页的用户交互界面,并提供各种在线支付服务(如微信支付、支付宝支付等)。
  2. 后端:使用Go语言和一些流行的框架(如Gin、Echo等),设计和开发后端业务逻辑。后端应该有一个API层,通过RESTful API或GraphQL API对外提供服务,和前端进行数据传输。
  3. 数据存储:使用现代的云原生数据库,如MongoDB、ElasticSearch或者CockroachDB等,存储应用程序所需的所有数据。数据应该以多个命名空间分隔,以便实现多租户支持,同时为了实现用户画像,数据库需要存储用户的交易信息、偏好等数据。
  4. 缓存和消息队列:使用Redis等缓存技术、Kafka等消息队列技术,优化系统的性能和可扩展性。
  5. 云原生基础设施:使用Kubernetes等容器编排技术、Prometheus等监控技术、Istio等服务网格技术,构建具有高可用性、弹性和可伸缩性的系统。
  6. 用户画像:通过各种手段获取用户信息,包括用户的基础信息、交易信息、偏好等,使用机器学习和人工智能技术对用户数据进行分析和挖掘,提高用户的满意度和用户体验。
  7. 活动参与:不定时地进行营销活动,包括妇女节/光棍节等活动,随时更新并优化用户画像数据,提高用户的参与度和转化率。

这是一个基于Go语言和云原生技术实现的兰师傅蛋糕房的整套系统的架构设计,能够支持多端(微信/支付宝小程序、App和网页)的在线售卖,并且拥有良好的可扩展性、弹性和可伸缩性。