学习目标:
- 了解使用Golang搭建大型电商系统所需的前后台技术和框架
- 了解事务的最终一致性和事务并发性
- 了解微服务
- 对比各个框架和第三方开源框架,给出具体的建议
学习内容:
1. 什么是微服务?
微服务是一种软件架构风格,它将一个大型的应用程序拆分为一组小型的、相互独立的服务,每个服务都运行在自己的进程中,通过轻量级的通信机制相互协作。每个服务都有自己的功能和数据存储,可以独立部署、升级和扩展,从而提高了应用程序的可维护性、可伸缩性和可靠性。
2. 什么是事务的最终一致性?
事务的最终一致性是指,当一个分布式系统中的多个服务对同一数据进行操作时,这些操作可能会发生冲突,导致数据的不一致。为了保证数据的一致性,需要采取一系列手段,确保最终数据达到一致状态。这种手段称为最终一致性。
最终一致性并不要求数据实时的同步,而是要求在一定时间内达到一致状态。最终一致性的实现方法有很多种,例如:异步通信、基于版本的控制、基于时间戳的控制等。
3. 什么是事务并发性?
事务并发性是指,当多个用户同时访问同一数据库时,数据库管理系统需要保证数据的一致性和完整性