后端架构与网站漏洞 | 青训营

54 阅读2分钟

后端架构

架构演进:

  • 单体架构
    优势:
  1. 性能最高
  2. 冗余小
    劣势:
  3. debug困难
  4. 模块相互影响
  5. 模块分工难、开发流程长

image.png

  • 垂直应用架构
    优势:
  1. 业务独立开发维护
    劣势:
  2. 不同业务存在冗余
  3. 每个业务还是单体

image.png

  • 分布式架构
    优势:
  1. 业务无关的独立服务
    劣势:
  2. 服务模块BUG可导致全局瘫痪
  3. 调用关系复杂
  4. 不同服务冗余

image.png

  • SOA架构
    优势:
  1. 服务注册
    劣势:
  2. 系统设计中心化
  3. 需要从上至下设计
  4. 重构困难

image.png

  • 微服务架构
    优势:
  1. 开发效率
  2. 业务独立设计
  3. 自下而上
  4. 故障隔离
    劣势:
  5. 治理、运维难度
  6. 观测挑战
  7. 安全性
  8. 分布式系统

image.png

云技术

云计算:是指通过软件自动化管理,提供计算资源的服务网络。架构包括:

  • IaaS(Infrastructure as a Service)
  • PaaS(Platform as a Service)
  • SaaS(Software as a Service)
  • FaaS(Function as a Service)

云原生技术为组织在公有云、私有云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。 image.png

相关问题

服务发布

  • 难点 image.png
  • 发布方案包括:
  1. 蓝绿部署,拷贝一个服务并在稳定后转移。
  2. 灰度发布(金丝雀发布),先新建一个小成本的服务做测试,稳定后逐个迁移。

流量治理 基于地区、集群、实例、请求等维度对路由路径进行控制。 image.png

负载均衡

  • Round Robin
  • Random
  • Ring Hash
  • Least Request

稳定性治理

  • 限流
  • 熔断
  • 过载保护
  • 降级

重试机制

  • 幂等
  • 充实风暴
  • 超时设置

网站漏洞

  • 客户端漏洞
  1. XSS(Cross Site Scripting)
  2. CSRF(Cross-site request forgery)
  3. 点击劫持(Click Jacking)
  • 服务端漏洞
  1. SQL
  2. RCE(Remote Command Execution)
  3. SSRF(Server-Side Request Forgery)
  4. 文件上传