随笔分类 - 学习笔记
摘要:概述 JWT,Java Web Token,通过 JSON 形式作为 Web 应用中的令牌,用于在各方之间安全地将信息作为 JSON 对象传输,在数据传输过程中还可以完成数据加密、签名等相关处理 JWT 的作用如下: 授权:一旦用户登录,每个后续请求将包括 JWT,从而允许用户访问该令牌允许的路由,
阅读全文
摘要:概述 1. 什么是 Docker? Docker 是一个应用容器平台,管理项目中用到的所有环境(MySQL、Redis...) 2. Docker 和虚拟机的区别 虚拟机是携带操作系统的,本身很小的应用程序因为携带了操作系统而变得十分笨重,Docker 不携带操作系统,所以 Docker 的应用非常
阅读全文
摘要:概述 1. CI/CD CI(持续集成)指开发人员一天内进行多次合并和提交代码操作,并通过自动化测试,完成构建 CD(持续部署)指每次代码更改都会自动部署到对应环境 CI/CD 结合在一起,可以加快开发团队交付成果的效率,减少时间成本 2. Gitlab-CI/CD gitlab-ci 是 gitl
阅读全文
摘要:日志概念 1. 日志文件 日志文件是用于记录系统操作事件的文件集合 1.1 调试日志 1.2 系统日志 系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹 日志门面 当我们的系统变的更加复杂的时候,我
阅读全文
摘要:概述 MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库中功能最丰富,最像关系型数据库的。 MongoDB 支持的数据结构非常松散,类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是支持的查询语言非常强大,语法类似于面向对
阅读全文
摘要:概述 SVN 全称 SubVersion,是一个开放源代码的版本控制系统,它的特点是操作简单,支持跨平台操作,支持版本回退 SVN 属于 C/S 结构软件,分客户端和服务端: 服务端软件:VisualSVN 客户端软件:TortoiseSVN SVN 的工作原理如下,SVN 服务器会把代码整合记录每
阅读全文
摘要:分布式基础理论 1. 什么是分布式系统? 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个系统 2. 应用架构演变 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本,适用于小型网站,小型管理系统 垂直应用架构 当访问量逐渐增大,单一应用增加机
阅读全文
摘要:概述 1. Mycat 是什么? Mycat 是数据库中间件,连接 Java 应用程序和数据库,它的作用如下: 读写分离 数据分片:垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表) 多数据源整合 2. Mycat 原理 Mycat 拦截了用户发送过来的 SQL 语句,首先对 SQL 语
阅读全文
摘要:为什么使用消息队列? 以用户下单购买商品的行为举例,在使用微服务架构时,我们需要调用多个服务。传统的调用方式是同步调用,这会存在一定的性能问题 使用消息队列可以实现异步的通信方式,相比于同步的通信⽅式,异步的⽅式可以让上游快速成功,极大提高系统的吞吐量。在分布式系统中,通过下游多个服务的分布式事务的
阅读全文
摘要:持续集成 1. 概述 持续集成(Continuous integration,简称 CI)指的是,频繁地(一天多次)将代码集成到主干 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成 通过持续集成,
阅读全文
摘要:1. 权限管理 1.1 什么是权限管理? 权限管理实现对用户访问系统的控制,按照安全规则或者安全策略,可以控制用户只能访问自己被授权的资源 权限管理包括用户身份认证和授权两部分,简称认证授权 1.2 什么是身份认证? 身份认证就是判断一个用户是否为合法用户的处理过程,最常用的方式就是通过核对用户输入
阅读全文