开发者学堂课程【5天实战 Spring Boot 2.5:Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/780/detail/13692
Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存
内容介绍:
一、课程对象和目的
二、MongoDB 简介
三、MongoDB 优点
MongoDB 的典型行业案例
一、课程对象和目的
移动互联网架构
结合课程知识进行扩充
无论是java、PNP等,很多代码做正式项目时,将代码进行分层(java),便于管理代码,是一个主要职责
三层架构:
前端UI层或展示层,中间业务逻辑层,代码里写各种业务逻辑,业务逻辑一般指各种订单、会员加多少分,做判断,执行工作,其次是数据访问层,图中DAO,数据访问对象,对数据库或对接数据文件的操作,代码有很多类,不同类负责不同数据源的对接
较为普遍的现象,一般都为三层
无论是java语言或其他语言,结构都是三层
UI或展示层,一般是界面,网页或收集界面,都是用户界面层,后台有接口,通过接口、经过一些逻辑数据代码访问各种数据库,需要情况下访问数据库
不论是数据库或是缓存主要目的构建高并发
建构:高并发
举例:淘宝双11支付订单峰值每秒五十多万,数据库较为恐怖,平时流量达不到,日常支付每秒一道两万,技术架构业务较为平稳。银行、石油石化等一些部门技术迭代较慢,要求、业务较为稳定,动力较小。对于公司来说,在技术上快速迭代,业务在急剧的变化或增长,外界的动力推动技术团队不断提升技术能力。
淘宝走的是一个无人走的道路
前期的高并发购买的数据库、服务器,价格昂贵且技术封锁或封闭性较强,基本不开放源代码的技术体系,新阶段,银行等其他单位开始转型,走开源路线,开源不一定完全免费但源代码开放,技术可控。很多系统技术可能多个系统并存,淘宝不一定只用My SQL,还有其他系统,共同解决面临的一些问题。
如,地铁刷卡机windows系统、XP系统等,每个数据库都是自己擅长的一方面
早期数据库存储时,严格定义数据的表,有严格数据类型的定义,各数据之间有明确的关系,有严格的流程。
数据库中要保存关系,数据库中再定义表时,无论订单表还是用户表,之间都有关联关系,即外界关联。MySQL等数据库严格体现数据关系,必须提前设计表,之后才能在数据库中保存数据,有严格流程,较为严谨。
2007年以后,抖音、微信等诞生在移动互联网时代,APP指的是移动应用,无论是安卓、苹果程序,通过后台接口保存数据,收集中的淘宝或微信APP,查询数据时,通过网络发送给淘宝数据中心数据库,返回各种数据,通过返回查找的各个数据。
互联网业务迭代较快,依赖业务竞争
国外知识产权保护较好,有核心竞争技术,国内存在产品经理
要有品味,格局要大
技术移动互联网时代后,传统的 My SQL 数据库,适应需求变化方面较差。
如,淘宝,早期使用My SQL做数据库,淘宝APP与PC端收集的数据和存储的数据不同,包括抖音、微信等其他APP,这种搜索平台,都会定位位置,位置信息会根据喜好或周边环境推送相关信息,在PC时代,都是在百度浏览器推出各类广告,范围较广,不精确,现阶段,较为准确,同时也扩展收集其他外部数据。
二、MongoDB 简介
MongoDB业务场景数据库诞生时,不需要提前在数据库设置严格的表结构定义,希望设计一种简单的轻量级的数据库,灵活的存储各种不同的数据,数据不要求字段数量,可以更改,是一个优势,轻量级,灵活。
MongoDB后期也加入很多功能,如缓存、集群等技术架构,走的是他人无法覆盖的路线
1.NoSQL排名第一,BAT互联网公司必备
2.分布式数据库,
3.由C++语言编写,特点是高性能、易部署、易使用、存储数据非常方便,
4.旨在为Web应用提供可扩展的高性能数据存储解决方案
5.MongoDB由10gen团队所开发,于2009年2月首度推出
6.MongoDB开源、跨平台,
7.支持Windows、Linux、OS X和Solaris系统
8.MongoDB最新版本为4.0,支持跨文档事务
三、MongoDB 优点
使用MongoDB公司,有明显移动互联网的特点,新浪微博、物联公司等都在使用
国产的一些手机通过定位查找,保存时间,保存数据,适应灵活多变的场景
四、MongoDB 的典型行业案例
互联网、电商、电信、媒体与娱乐、金融与保险、医疗