AIGO微服务电商项目全栈拆解(02)技术选型与整体分层

第 01 篇从业务视角看了这两套系统「做什么」,后续文章还会拆开它们的页面与接口面。这一篇先补上两者中间的「地基」:这些系统是用什么技术搭起来的、为什么这么选、在整体上怎样分层,以及它们实际上被部署成了什么样子。

AIGO微服务电商项目全栈拆解(01)业务全景与双系统定位

爱购商城(AIGO)是一套完整的电商业务项目,由两个系统组成:面向消费者的商城用户端(C 端),承载从注册登录、浏览商品、加购下单、支付收货到售后开票的整条购物链路;面向运营人员的运营管理后台(B 端),围绕商品、营销、订单与售后组织运营能力。

Go逃逸分析:从原理到pprof实战诊断

在Go项目开发中,你是否遇到过这些困惑:明明只是创建了一个小对象,为什么会导致频繁GC?某个高频调用的函数为何会引起内存分配激增?程序在大规模并发下内存占用不断攀升?这些问题的背后,往往与Go语言的”逃逸分析”机制息息相关。

Spring之Bean的生命周期

Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。

使用Java9的模块化进行打包

模块化是Java9正式引入的feature,全称是:Java Platform Module System (JPMS),该特性的引入增强了Java的模块化和封装性;而且用户可利用JDK9提供的打包工具Jlink生成可执行镜像文件(该文件可不依JDK环境直接运行)

  

计算机操作系统

操作系统的用户态和核心态切换条件以及为什么要切换线程

线程间的通信方式

  

Redis 5种基本数据类型

Redis 共有 5 种基本数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。

  

MySQL事务原理与实践

我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。
这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制、日志机制,用一整套机制来解决多事务并发问题。