分布式
Hammond_
这个作者很懒,什么都没留下…
展开
-
OAuth2.0
原因:解决用户第三方应用访问其他服务的授权问题 第三方授权流程 场景:我要去小程序上点外卖,小程序需要我的微信绑定的电话号码 四种授权模式 授权码授权 详细过程: 用户访问应用页面 重定向到认证服务器 认证服务器展示授权页面 授权完成,然后认证服务器重定向到应用服务器,携带授权码code和client_id,然后利用client_id去后台查询对应资源服务器的client_secret 携带code、client_id、client_secret请求认证服务器 获取access_token和refr原创 2020-07-12 01:00:02 · 137 阅读 · 0 评论 -
JWT
JSON Web Token是作为多服务鉴权而存在的一个令牌(解决了多服务的鉴权问题) 组成 BASE64加密之后,分隔符为".",格式为(头部).(数据载体).(签名) 头部 指定了令牌类型和令牌签名算法 {“typ”:“JwT”,“alg”:“HS256”} typ为令牌类型,alg为令牌签名的算法 载荷(数据载体) 定义了JWT的基本信息 标准声明 key value iss jwt签发者 sub 当前令牌描述说明 aud 接受jwt的一方 exp jwt的过期时间原创 2020-06-16 23:45:49 · 105 阅读 · 0 评论 -
Gateway
问题 分布式项目多个服务对应着非常多的接口,服务器之间套接字难以管理 安全隐患很大,暴露的接口增加导致服务器受攻击的面积增加 多个服务之间请求资源可能存在跨域问题 多个服务需要多次认证 使用网关 解决了接口多难以管理,并且安全隐患大的问题(只用对接网关微服务) 解决了跨域问题 解决了多服务认证问题 日志统一管理 ...原创 2020-05-29 13:34:23 · 111 阅读 · 0 评论 -
Elasticsearch
作用 用于部署全文搜索服务器,内核由Lucene编写 实例 修改config下elasticsearch.yml ps:启动有可能失败,由于ES消耗服务器资源较大,需要调整硬件容量限制原创 2020-05-20 13:13:51 · 98 阅读 · 0 评论 -
Canal数据同步
原理 通过监听主数据库(目前只能监听Mysql)的DML操作log日志,以写入缓存数据库(Redis),相对应主数据库需要开启日志 应用场景 用于同步Mysql数据库信息 实例 首先需要开启Mysql的日志功能 进入mysql文件夹下/etc/mysql/mysql.conf.d/mysqld.cnf,编辑添加 log-bin=/var/lib/mysql/mysql-bin//日志保存路径 server-id=12345//唯一标识 保存后,即可开启Mysql日志功能 创建账号,用于canal访原创 2020-05-16 10:08:05 · 549 阅读 · 0 评论 -
OpenResty
OpenResty是一个基于Nginx可伸缩的Web平台,集成了很多第三方模块(Lua),可以实现10K~1000K的并发链接响应的高性能Web应用 请求非及时性资源实例 配置一个请求缓存(高并发请求资源) 用户通过链接访问Nginx(NginX-OpenResty),将需要请求指定资源的会话拦截,并从OpenResty Cache(Nginx-Cache)中请求资源,如果查询不到则继续下一步,查询到了就直接返回资源 通过OpenResty集成的Lua脚本配置,请求本地Redis缓存,如果查询不到则继续下原创 2020-05-15 11:19:13 · 176 阅读 · 0 评论 -
Lua
由C语言开发的脚本语言(已开源),用于给应用程序提供扩展性和定制功能,但是无法作为应用程序开发语言(没有开发库),可以用于开发歪瓜(CF) 特性 支持面向过程编程和函数式编程; 自动内存管理;只提供了一种通用类型的表,用它可以实现数组,哈希表,集合,对象; 语言内置模式匹配;支持多线程; ...原创 2020-05-14 14:47:39 · 135 阅读 · 0 评论 -
FastDFS工作机制
作用:分布式文件管理,可以部署在多文件服务器集群项目上,进行项目文件管理(文件上传,文件删除,文件下载) Tracker:分布式文件服务器注册中心 Storage:以group组为单位,一个组内包含多个分布式文件服务器的信息(套接字),组内服务器之间保持冗余同步(容灾机制) 文件上传时的流程图: 文件下载时的流程图: ...原创 2020-05-06 12:06:50 · 243 阅读 · 0 评论