《沈剑架构师训练营》第8章 - 架构分层
40、分层:互联网分层架构方法论
- no40:互联网分层架构的的本质是什么?
- 这是一个「数据移动」,然后「被处理」,被「呈现」的过程
- no40:数据移动过程中最重要的两点是什么?
- 1.数据传输的格式
- 2.数据在各个层次的形态
- no40:架构分层的方法论是什么?
- 1.让上游更高效地获取与处理数据,复用
- 2.让下游能屏蔽数据的获取细节,封装
41、分层:DAO与服务化。
- no41:何时应该引入 DAO
- 为了屏蔽数据库数据细节时
- no41:何时需要基础数据服务化分层
- 为了屏蔽垂直拆分,分库分表,缓存细节时
42、分层:业务服务层,是否有必要?
- no42:何时需引入业务服务层
- 为了屏蔽多个基础服务的调用时
43、分层:前后端分离
- no43:什么时候需要前后端分离?
- 为了屏蔽端上多变,PC/H5/APP 等产品复杂性时,因为设备兼容性,折磨着 MVC 的工程师,PC/H5/APP 等前端展现变化的频率,远大于后端业务逻辑变化的频率
44、分层:数据库中间件
- no44:何时需要数据库中间件?
- 为了屏蔽数据库层面的复杂性时,如
- 有些数据需要路由到特定的水平切分库
- 有些数据不确定落在哪一个水平切分库,就需要访问所有库
- 有些数据需要访问全局的库,拿到数据的全局视野,到service层进行额外处理
- 引入数据库中间件,基于客户端
- 基于服务端,对上游而言,它就是数据库
- 为了屏蔽数据库层面的复杂性时,如
《沈剑架构师训练营》第8章 - 架构分层相关推荐
- .NET 云原生架构师训练营(设计原则设计模式)--学习笔记
▲ 点击上方"DotNet NB"关注公众号 回复"1"获取开发者路线图 学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第180篇原创文章 ...
- .NET 云原生架构师训练营(系统架构)--学习笔记
▲ 点击上方"DotNet NB"关注公众号 回复"1"获取开发者路线图 学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第176篇原创文章 ...
- .NET 云原生架构师训练营(模块二 基础巩固 安全)--学习笔记
2.8 安全 认证 VS 授权 ASP .NET Core 认证授权中间件 认证 JWT 认证 授权 认证 VS 授权 认证是一个识别用户是谁的过程 授权是一个决定用户可以干什么的过程 401 Una ...
- .NET 云原生架构师训练营(模块二 基础巩固 REST RESTful)--学习笔记
2.3.1 Web API -- REST && RESTful 什么是 REST,什么是 RESTful RESTful API 设计 RESTful 成熟度模型 什么是 REST, ...
- .NET 云原生架构师训练营(模块二 基础巩固 配置)--学习笔记
2.2.3 核心模块--配置 IConfiguration Options ASP.NET Core 中的配置:https://docs.microsoft.com/zh-cn/aspnet/core ...
- .NET 云原生架构师训练营(模块二 基础巩固 日志)--学习笔记
2.2.2 核心模块--日志 ILogger 的使用 日志的 ID 日志的分类 日志的级别 LoggerProvider 日志的最佳实践 .NET Core 和 ASP.NET Core 中的日志记录 ...
- .NET 云原生架构师训练营(模块二 基础巩固 依赖注入)--学习笔记
2.2.1 核心模块--依赖注入 什么是依赖注入 .NET Core DI 生命周期 服务设计 服务范围检查 ASP.NET Core 依赖注入:https://docs.microsoft.com/ ...
- .NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记
2.1 引入 http协议 web server && web application framework .net 与 .net core asp .net core web api ...
- 高级架构师_Redis_第3章_Redis持久化
高级架构师_Redis_第3章_Redis持久化 文章目录 高级架构师_Redis_第3章_Redis持久化 Redis 持久化 1.1 为什么要持久化 1.2 RDB 介绍 1.3 RDB 执行流程 ...
- 高级架构师_Redis_第1章_缓存原理与设计
高级架构师_Redis_第1章_ 缓存原理与设计 文章目录 高级架构师_Redis_第1章_ 缓存原理与设计 第一节 缓存原理与设计 1.1 缓存基本思想 1.11 缓存的使用场景 1.12 什么是缓 ...
最新文章
- python3.6环境变量设置win10_python——python3.6环境搭建(Windows10,64位)
- boost::mpl模块实现is_sequence相关的测试程序
- 为什么on用的时候会失效?
- python 如何判断excel单元格为空_如何用python处理excel(二)
- 架构名词,涉及的技术
- Linux命令:SAMBA配置与win10共享
- 数组指针和指针数组的区别(转)
- 人类最坏的发明:农药和塑料
- 登陆kaggle 平台,谷歌浏览器人机验证(RECAPTCHA)无法显示解决方案
- VIM教程与学习资料汇总(转载自善用佳软)
- 【数据挖掘案例】财政收入影响因素分析及预测模型
- Arduino米思齐Mixly---旋转可调灯
- VUX--小白初学使用安装
- 五大爆款单视频开头,学会做短视频很轻松
- linux bios设置界面,BIOS怎么设置 史上最详细的bios设置图解教程
- 除了菊纹识别,AI还有哪些奇奇怪怪的识别能力?
- 腾讯企业 html邮件模板,用腾讯企业邮做为邮件服务器来发送通知邮件的操作步骤...
- android圆形点击效果,Android 三种方式实现自定义圆形页面加载中效果的进度条
- gdb-peda安装
- Android 11 拍照选择相册适配
热门文章
- 10本 Linux PDF 书籍免费分享
- 特殊数字符号大全,word 数学符号
- 魔兽怀旧卓越服务器微信,《魔兽世界》怀旧服火爆超预期,部分服务器排队简直可怕...
- 计算机桌面成英文怎样变成中文版,怎样把电脑语言设置成英文
- android应用和苹果,同一款软件,在安卓和苹果间差别原来这么大
- 如何让自己打计算机打字快起来,电脑快速打字的技巧
- 精选(26)面试官:讲讲你对ThreadLocal的理解
- informatica session中bulk和normal模式
- 用python画皮卡丘代码-用python画一只可爱的皮卡丘实例
- 什么是信息技术外包?