Go-Iris框架实战之电商秒杀系统②核心优化

文章目录

  • 第9章 系统分析&前端优化【核心优化方案落地
    • 9-2 秒杀分布式架构设计
    • 页面静态化的几种方式
    • 9-9 CDN原理和作用
  • 第10章 服务端性能优化之实现cookie验证
    • 后端优化思路
      • 基础架构与优化的的架构对比
    • 突破Session限制(Cookie代替)
        • cookie与session的区别
  • 第11章 服务端性能优化之分布式验证实现
    • 11-1 分布式概念
  • 第12章 服务端性能优化解决超卖&引入消息队列
  • 第14章 课程总结

第9章 系统分析&前端优化【核心优化方案落地

9-2 秒杀分布式架构设计

Go-Iris框架实战之电商秒杀系统②核心优化_第1张图片

页面静态化的几种方式

Go-Iris框架实战之电商秒杀系统②核心优化_第2张图片

Go-Iris框架实战之电商秒杀系统②核心优化_第3张图片

9-9 CDN原理和作用

Go-Iris框架实战之电商秒杀系统②核心优化_第4张图片

Go-Iris框架实战之电商秒杀系统②核心优化_第5张图片
特点:就近访问

第10章 服务端性能优化之实现cookie验证

Go-Iris框架实战之电商秒杀系统②核心优化_第6张图片

后端优化思路

Go-Iris框架实战之电商秒杀系统②核心优化_第7张图片

基础架构与优化的的架构对比

Go-Iris框架实战之电商秒杀系统②核心优化_第8张图片
优化后的架构

  • 前端优化(CDN)其余的都是后端优化
  • SLB 阿里流量均衡负载器 – 流量负载
  • 分布式数量控制(弹性伸缩机器)–请求负载

Go-Iris框架实战之电商秒杀系统②核心优化_第9张图片

突破Session限制(Cookie代替)

Go-Iris框架实战之电商秒杀系统②核心优化_第10张图片

Go-Iris框架实战之电商秒杀系统②核心优化_第11张图片

cookie与session的区别

Go-Iris框架实战之电商秒杀系统②核心优化_第12张图片
在 登录、访问权限设置中有使用

package encrypt

import (
	"crypto/aes"
	"crypto/cipher"
	"encoding/base64"
)

var PwdKey = []byte("fwerc3e2ex21e234x3565v4v")

// aes加密+crt
func aesEncrypt(plainText, key []byte) ([]byte, error) {
	// 1.创建一个底层使用aes的密码接口的对象
	block, err := aes.NewCipher(key)
	if err != nil {
		return nil, err
	}
	// 3.创建一个使用ctr加密接口对象
	iv := []byte("12345678abcdefgh") //初始化向量
	stream := cipher.NewCTR(block, iv)
	// 4.加密
	cipherText := make([]byte, len(plainText))
	stream.XORKeyStream(cipherText, plainText)
	return cipherText, nil
}

// aes解密
func aesDecrypt(cipherText, key []byte) []byte {
	block, err := aes.NewCipher(key)
	if err != nil {
		panic(err)
	}
	iv := []byte("12345678abcdefgh")
	stream := cipher.NewCTR(block, iv)
	plainText := make([]byte, len(cipherText))
	stream.XORKeyStream(plainText, cipherText)
	return plainText
}

// base64编码密文
func EnPwdCode(pwd []byte) (string, error) {
	result, err := aesEncrypt(pwd, PwdKey)
	if err != nil {
		return "", err
	}
	return base64.StdEncoding.EncodeToString(result), nil
}

// base64解码,并解密aes
func DePwdCode(pwd string) ([]byte, error) {
	pwdByte, err := base64.StdEncoding.DecodeString(pwd)
	if err != nil {
		return nil, err
	}
	return aesDecrypt(pwdByte, PwdKey), nil
}

第11章 服务端性能优化之分布式验证实现

11-1 分布式概念

Go-Iris框架实战之电商秒杀系统②核心优化_第13张图片

第12章 服务端性能优化解决超卖&引入消息队列

Go-Iris框架实战之电商秒杀系统②核心优化_第14张图片

第14章 课程总结

Go-Iris框架实战之电商秒杀系统②核心优化_第15张图片
秒杀总结这个不错

你可能感兴趣的:(#,Iris)