面试中问到Redis持久化的原理,本篇在做详细解答可在redis.conf中配置,会以一段时间内达到指定修改的次数为规则来触发快照操作,快照文件名为dump.rdb 。每当Redis服务重启的时候都会从该文件中把数据加载到内存中 。在60秒内有10000次操作即触发RDB持久化 。
【微服务平台被骗了 微服务平台redis】RDB 持久化机制 :是对 redis 数据执行周期性的持久化 。这种方式就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为 dump.rdb 。客户端也可以使用save或者bgsave命令通知redis做一次快照持久化 。
AOF(append only file)持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的 。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式 。
redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化) , 另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件) 。
负载均衡,分布式,集群的理解,多台服务器代码如何同步?分布式是指将不同的业务分布在不同的地方,集群指的是将几台服务器集中在一起,实现同一业务 。
负载均衡是一种方法,常用的是nginx反向代理 , 其实负载均衡是可以理解为搭建集群的一部分,属于集群服务器的前置系统 。
多台服务器协同工作,每台服务器叫做集群的一个“节点”,每个节点都提供相同的服务 。
而集群指的是将几台服务器集中在一起,实现同一业务 。分布式中的每一个节点,都可以做集群 。而集群并不一定就是分布式的 。
分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务 , 部署在多个服务器上 分布式是指将不同的业务分布在不同的地方 。而集群指的是将几台服务器集中在一起,实现同一业务 。
微服务权限设计1、我们理想的微服务权限解决方案应该是这样的,认证服务负责认证,网关负责校验认证和鉴权,其他API服务负责处理自己的业务逻辑 。安全相关的逻辑只存在于认证服务和网关服务中,其他服务只是单纯地提供服务而没有任何安全相关逻辑 。
2、ResourceServerConfigurerAdapter 微服务获取jwttoken中的用户信息,两种方式 , 使用security上下文可以直接获取当前用户名和权限,另一种自定义拦截器获取额外信息 。
3、用微服务来进行实践到生产项目中 , 首先要考虑一些问题 。比如下图的微服务业务架构:在上图图表展示的架构图中,我们假设将业务商户服务A、订单服务B和产品服务C分别拆分为一个微服务应用 , 单独进行部署 。
redis集群迁移工具?1、Redsync:用于在Redis集群之间同步数据的工具 。然而,它仅适用于Redis集群之间的数据同步,不支持迁移到其他存储引擎 。Resharding:用于将数据从一个Redis集群迁移到另一个Redis集群 。
2、客户端与redis节点直连,不需要连接集群所有的节点,连接集群中任何一个可用节点即可 。redis-trib.rb脚本(rub语言)为集群的管理工具,比如自动添加节点,规划槽位 , 迁移数据等一系列操作 。
3、MIGRATE: MIGRATE 命令是用于将数据从一个 Redis 实例迁移到另一个 Redis 实例的命令,但是在 Redis 集群模式下不支持此命令 。可以使用 --cluster 选项来进行集群迁移 。
4、Redis集群介绍Redis 集群是一个提供在多个Redis间节点间共享数据的程序集 。
几种主流的分布式定时任务,你知道哪些?1、自从JDK5之后,提供了 ScheduledExecutorService 代替TimerTask来执行定时任务,提供了不错的可靠性 。Spring Framework 自带定时任务,提供了cron表达式来实现丰富定时任务配置 。
2、任务动态分片,数据庞大的大任务处理 。3:任务阻塞,路由及报警策略 。4:开发文档和社区完善 。此次主要对xxl-job(大众),Elastic-job(当当) , staturn(唯品会),lts,TBSchedule(阿里)五种调度框架进行综合对比 。
3、SimpleJob类型处理方式 意为简单实现,未经任何封装的类型 。需实现SimpleJob接口 。该接口仅提供单一方法用于覆盖,此方法将定时执行 。与Quartz原生接口相似,但提供了弹性扩缩容和分片等功能 。
4、Shedlock 从严格意义上来说不是一个分布式任务调度框架,而是一个 分布式锁。所谓的分布式锁,解决的核心问题就是各个节点中无法通信的痛点 。
5、SandGlass 是一款为 java 设计的分布式任务调度工具 。定时任务是业务需求中非常常见的 比如:(1)每天给自己爱人发晚安 什么你还是单身? , 那看完本篇文章就有了 。
微服务架构认证鉴权方案客户端 Token 方案 令牌在客户端生成,由身份验证服务进行签名,并且必须包含足够的信息 , 以便可以在所有微服务中建立用户身份 。
目前主流的认证鉴权方案有 2 种 。第一种是引入 Redis 做分布式会话,即用户登录成功后,将用户身份、权限信息存入 Redis,以一个唯一 ID 作为 Key,并设置信息在 Redis 里的失效时间 。
从单体应用架构到分布式应用架构再到微服务架构 , 应用的架构通过不停的改进升级的方式满足不断扩大的业务需求 。
我们理想的微服务权限解决方案应该是这样的,认证服务负责认证,网关负责校验认证和鉴权 , 其他API服务负责处理自己的业务逻辑 。安全相关的逻辑只存在于认证服务和网关服务中,其他服务只是单纯地提供服务而没有任何安全相关逻辑 。
下面让我们来看几种微服务架构下的鉴权方案:第一种方案为,从用户服务获取用户信息,然后各个微服务分别鉴权 。
在网关层完成url层面的鉴权操作 。将解析后的jwt token当做请求头传递到下游服务中 。
推荐阅读
- 如何有效维护国外网站服务器? 网站服务器在国外怎么维护
- 服务器安装sata硬盘 服务器ssd硬盘怎么安装
- 服务器上的软件安装方法是什么? 怎么把软件安装在服务器上
- 如何应对网站服务器在国外的问题? 网站服务器在国外怎么解决
- 捣蛋鹅需要加速器吗 捣蛋鹅服务器满了该怎么办
- mysql怎么在表中加数据 mysql给表格数据加数据
- 如何将软件上传至服务器? 怎么把软件弄到服务器上