学习笔记
艾编程架构课程随堂笔记
CJ-小门
从入门到放弃
展开
-
JUC
原创 2021-01-11 21:15:49 · 63 阅读 · 0 评论 -
安全学习
安全学习1. 安全是什么?对于系统安全是没有意识的,一般都是在系统被攻击或数据泄漏后才意识到系统需要提前面对安全问题,任何应用的本质都是数据。安全的本质其实就是保护数据合法的被使用。什么才叫合法的被使用,就要从几个方面来进行了解:机密性、完整性、可用性,这也是安全领域的最为基础的3个安全原则经验:我们一般设计系统的用户权限角色分为三类(三员管理):系统管理员、系统安全员、系统审计员1.1. 安全原则机密性,完整性,可用性,可以简称CIA三元组。1.1.1. 机密性用一句来概括就是确保数据原创 2020-09-20 19:28:50 · 1383 阅读 · 0 评论 -
31.Kubernetes
艾编程架构课程Kubernetes笔记未完待续原创 2020-09-20 18:18:06 · 53 阅读 · 0 评论 -
30.CICD&Jenkins
艾编程架构课程Jenkins笔记一、DevOps1、什么是DevOps2、CICD&落地实现二、Jenkins1、安装2、使用1、参照文档使用2、远程构建访问一、DevOps1、什么是DevOpsDevelopment和Operations的组合词;DevOps: Development 和 Operations 的组合DevOps 看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、 发布更加快原创 2020-09-20 18:13:15 · 190 阅读 · 0 评论 -
29.Docker
一、Docker基础1、为什么是Docker?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cY79ype8-1600588362552)(assets\18d8bc3eb13533fa68bb9b753654171b40345bec.png)]Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。1、Docker解决了什么问题快速交付和部署(镜像与容器)资源的高效利用和隔离(高密度部署)轻松的迁移和扩展(一次封装,到原创 2020-09-20 15:53:27 · 513 阅读 · 1 评论 -
28.SpringCloud
艾编程架构课程第五十八节笔记未完待续原创 2020-08-25 22:57:01 · 864 阅读 · 0 评论 -
27.微服务架构设计
艾编程架构课程第五十六、七节笔记未完待续原创 2020-08-25 22:55:38 · 159 阅读 · 0 评论 -
26.分布式限流设计
艾编程架构课程第五十三节笔记未完待续原创 2020-08-25 22:51:11 · 270 阅读 · 0 评论 -
25.分布式幂等性设计
分布式幂等性设计1. 基于本地消息的最终一致性方案设计采用BASE原理实现,保障事务的最终一致性设计的过程中是否采用最终一致性需要根据业务来进行评估基于本地消息的方式,将本事务外的操作,记录在消息表中举例:下订单-支付,这就是两个事务其他事务提供操作接口(支付成功后如果直接调用订单接口)定时轮询的方式将未执行的消息发送给操作接口操作接口返回失败记录失败的标识,需要设置retry次数超过retry的次数后不再进行消息发送并记录我们的失败状态重试后没有成功的就可以通过人工补偿[外原创 2020-08-25 22:48:30 · 127 阅读 · 0 评论 -
24.分布式事务设计
分布式事务设计1. 分布式事务涉及的问题分析单一数据库结构中ACID的强事务类型所有数据表都在同一个数据库数据库的事务得到很好的支持分布式架构中分布式系统中,业务拆成多个数据库多个独立的数据库之间无法统一事务有可能导致数据不一致举个例子一个下单操作,通过积分购物执行顺序:用户的积分扣减,订单生成,库存扣减这个三个业务不会在一个数据中,就不能保证事务统一任何一个环节出错,其他环节都不会回滚解决分布式事务的方案:基于XA协议的两阶段:ACID的方式事务补偿机制T原创 2020-08-25 22:47:50 · 118 阅读 · 0 评论 -
23.分布式全局id设计
分布式全局id设计1. 分布式全局id概述及引发的问题分析一般在创建表的过程中会给表创建一个自增id,通过这个自增id来做到数据的唯一性在分库分表的场景中如果自增id在同一个业务表中,都是从1开始就会导致主键id重复的情况如果在自增id的条件下进行数据的关联和检索,就会出现业务数据重复的情况2. 通过UUID实现全局idUUID通用的唯一识别码使用UUID可以保证每一条记录的id都不同缺点:只是一个单纯的id,没有实际的意义,长度是32位的,太长了没有有顺序,对于MySQL的innoD原创 2020-08-25 22:46:51 · 141 阅读 · 0 评论 -
22.海量数据存储与访问瓶颈解决方案
艾编程架构课程第四十八 --- 五十节笔记未完待续原创 2020-08-25 22:45:48 · 265 阅读 · 0 评论 -
21.Kafka
艾编程架构课程第四十五 --- 四十七节笔记未完待续原创 2020-08-25 22:43:39 · 197 阅读 · 0 评论 -
20.RabbitMQ消息队列
MQ消息队列架构设计1. 分布式消息队列应用场景分析ActiveMQ、RabbitMQ、RocketMQ、zeroMQ、kafkaRabbitMQkafka消息队列的应用场景分析异步缓冲有一些业务是可以通过异步来操作的,只要做到最终一致性而不是强一致性,就可以通过MQ来做场景举例:用户在平台上注册了账号,会发邮件和短信通知串行处理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u2TYmWuH-1595352210193)(C:\User原创 2020-08-25 22:41:30 · 356 阅读 · 1 评论 -
19.分布式搜素引擎ElasticSearch
艾编程架构课程第三十五---- 三十九节笔记未完待续原创 2020-08-25 22:40:15 · 668 阅读 · 0 评论 -
18.分布式缓存Redis
分布式缓存Redis0. 分布式架构的分析分布式架构的概述:分而治之,比一个节点要无论是计算能力还是存储能力,都要提升很多分布式架构的优点业务结偶系统模块化,可重用化高提升系统的并发量优化了运维部署的效率(Pre,dubbo:Mock)分布式架构的缺点架构复杂(人员学习成本高)多个子系统部署复杂系统之间通信耗时调试排错复杂设计原则异步解构幂等要一致 N*1(定时任务,8点去数据库把A+1):分布式锁来解决拆分原则融合分布式的中间件:Redis、ES、MQ容错高可原创 2020-08-25 22:37:22 · 324 阅读 · 0 评论 -
17.Zookeeper
Zookeeper分布式锁实现1、单应用场景下的锁机制[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4yNVBYQ3-1595351027916)(C:\Users\CJ-xi\AppData\Roaming\Typora\typora-user-images\image-20200709023142491.png)]在这种情况下如何处理呢?1、数据库乐观锁:数据更新状态发生变化后就停止更新,使用version记录的方式select * from im_produ原创 2020-08-25 22:34:38 · 94 阅读 · 0 评论 -
16.Dubbo
分布式架构实践:使用Dubbo实现服务治理1、什么是分布式系统架构,演进的各个阶段[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vJPxb8qm-1595350887802)(C:\Users\CJ-xi\AppData\Roaming\Typora\typora-user-images\image-20200709015217950.png)]4个方面的问题:高可用、高并发、高性能,服务如何管理客户端如何访问这么多的服务(nginx,tomcat多外暴http端原创 2020-08-25 22:33:36 · 164 阅读 · 0 评论 -
15.分布式项目搭建
大规模阿斯蒂芬奇才原创 2020-08-25 22:31:51 · 191 阅读 · 0 评论 -
14.前后端分离项目构建
艾编程架构课程第十一节笔记未完待续原创 2020-08-25 22:30:36 · 88 阅读 · 0 评论 -
13.后端标准化项目构建
艾编程架构课程第二十五节笔记未完待续原创 2020-08-25 22:28:24 · 388 阅读 · 0 评论 -
12.mybatis_plus
艾编程架构课程第二十四节笔记未完待续原创 2020-08-25 22:27:00 · 202 阅读 · 1 评论 -
11.前端:vue
艾编程前端第一课:实现电商购物车01 - Vuejs介绍官网:https://cn.vuejs.org入门文档:https://cn.vuejs.org/v2/guide/目标什么是vuejs以及如何下载和安装Vuejs。概述Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API;Vue.js是一个构建数据驱动的Web界面的库。Vue.js是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层原创 2020-08-25 22:23:37 · 251 阅读 · 0 评论 -
10.Mysql深入分析
Mysql深入分析swagger+定时任务+MySQLSwagger分析及集成配置Swagger信息配置扫描接口及开关分组和接口注释总结Springboot异步任务、邮件任务、定时执行任务MySQL数据库内部文件分析MySQL数据库SQL执行分析MySQL数据库慢查询分析优化前后端对接的方式1、word的方式来定义2、markdown3、excel上面这些内容如何保证我们的系统更新后能及时的让前端同学知道将文档放svn+githttp的方式dubbo+zookeepe原创 2020-08-25 22:13:24 · 70 阅读 · 0 评论 -
9.Swagger
SwaggerswaggerSwagger分析及集成配置Swagger信息配置扫描接口及开关分组和接口注释总结Springboot异步任务、邮件任务、定时执行任务MySQL数据库内部文件分析MySQL数据库SQL执行分析MySQL数据库慢查询分析优化前后端对接的方式1、word的方式来定义2、markdown3、excel上面这些内容如何保证我们的系统更新后能及时的让前端同学知道将文档放svn+githttp的方式dubbo+zookeeper(RPC):服务发现和服原创 2020-08-24 16:49:28 · 73 阅读 · 0 评论 -
8.FastDFS分布式文件系统
FastDFS配置文件参数详解**参考文档Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\foralln\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过 Euler integralΓ(z)=∫0∞tz−1e−tdt .\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.Γ(z)=∫0∞tz−1e−tdt.首先是 tracker.conf# is this config file disa原创 2020-08-24 16:43:53 · 102 阅读 · 0 评论 -
7.Shiro安全框架
1.Shiro简介1.1 什么是Shiro?Apache Shiro 是一个Java 的安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等。session,即便不使用web容器,它也可以使用session下载地址:http://shiro.apache.org1.2 有哪些功能?Authentication:身份认证、登录,验证用户是不是拥有相应的身份原创 2020-08-24 16:38:21 · 71 阅读 · 0 评论 -
6.Springboot集成安全框架
艾编程架构课程第十节笔记未完待续SpringSecurity1.Springboot集成SpringSecurity1.1SpringSecurity简介WebSecurityConfigurerAdpater:AuthenticationManagerBuilder:1.2开始导入SpringSecuritySpringSecurity1.Springboot集成SpringSecurity它是一个安全组件:shiro在web开发中,安全是第一位的,我们可以通过拦截器、过滤器来做权限认证安全应该在原创 2020-08-24 16:32:31 · 367 阅读 · 0 评论 -
5.负载均衡
艾编程架构课程第九节笔记未完待续原创 2020-08-24 16:23:49 · 134 阅读 · 0 评论 -
4.Springboot+IDEA构建系统工程
艾编程架构课程第五、六、七、八节笔记未完待续系统国际化功能实施,原理分析Restful风格拦截器扩展实现YML语法JSR303校验多环境配置系统国际化功能实施,原理分析Restful风格拦截器扩展实现YML语法JSR303校验多环境配置...原创 2020-08-24 16:21:27 · 106 阅读 · 0 评论 -
3.敏捷开发
艾编程架构课程第三、四节笔记未完待续敏捷开发1. Agile敏捷2. Scrum2.1. 角色2.1.1 开发团队2.1.2 产品经理2.1.3 架构师2.2 资产2.2.1 产品Backlog2.2.2 Sprint Backlog2.2.3 Increment2.2.4 敏捷估算(评估)速率:交付能力2.3 事件2.3.1 Sprint (迭代)2.3.2 Sprint Planning(计划会议)2.3.3 Daily Scrum(每日会议)2.3.4 Sprint Review(迭代评审)2.3.5原创 2020-08-24 16:07:01 · 123 阅读 · 0 评论 -
2.系统架构演进
艾编程架构课程第二节笔记项目演进过程项目实施阶段项目技术覆盖大型互联网系统的特点与设计思想1.大型互联网系统的特点2.大型互联网系统的设计思想3.大型互联网系统架构演变历程初始化单机架构:第一次演进:Tomcat与数据库分开部署第二次演进:引入本地缓存和分布式缓存第三次演进:引入反向代理实现负载均衡第四次演进:数据库读写分离第五次演进:数据库按业务分库第六次演进:把大表拆分为小表第七次演进:使用LVS或F5来使多个Nginx负载均衡第八次演进:通过DNS轮询实现机房间的负载均衡第九次演进:引入NoSQL数据原创 2020-08-24 15:57:48 · 257 阅读 · 0 评论 -
1.系统架构思维
系统架构1.项目演进过程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v3O16aZj-1594972138446)(C:\Users\CJ-xi\AppData\Roaming\Typora\typora-user-images\image-20200524002206291.png)]2.项目实施阶段[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ldl8a3Y-1594972138450)(C:\Users\CJ-xi\AppDa原创 2020-08-24 14:16:01 · 411 阅读 · 0 评论