
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一个分布式文件系统,JuiceFS 会将数据格式化以后存储在对象存储,同时会将文件的元数据存储在元数据引擎。JuiceFS 采用多引擎设计,目前已支持 Redis、TiKV、MySQL/MariaDB、PostgreSQL、SQLite 等作为元数据服务引擎。
运维Springboot打包插件(其实就是springboot提供的maven插件)第一步:若是将其maven打包插件注释掉,分别打包比较两者文件1、注释前 2、注释后第二步:比较1、没有插件=》==》2、3、有插件的在class文件下才有与没有插件的相同文件(boot打包后将没有插件的所属文件都放在了一个文件中(/class))小结:
Redis的java客户端(StringRedisTemplate)问题:前面的json序列化会存放过多的内容 解决:节省内存空间(当以后存取对象过多)我们不会使用json序列化器,而是使用string序列化器。其只能存string的key和value存Java对象的时候只能手动。 第一种:spring提供的StringRedisTemplate类(默认为string。这样如果们是string的话
HttpMessageConverter的@ReponseBody处理json(转换为json字符串(浏览器才能识别))这里其实是springMvc处理json使用步骤:第一步:引入jcakson依赖 第二步:开启springMVC.xml的注解驱动 第三步:在方法上用@ResponseBody表示第四步:方法中用java对象作为控制器方法返回值返回(这样就会自动转换为json格式字符串)
前端发送异步请求,调用后端接口。
解决思路:我们释放的锁的时候进行一个判断(判断锁的标识是否一致(可以存线程id(jvm提供)作为标识(uuid更好。分布式场景有多个jvm)))优化后的逻辑:(可以存一个线程id作为锁的标识。释放锁前先判断一下)以前释放锁的逻辑:(随意释放锁,没有判断这个锁是不是自己的)优化后的业务流程:(加了锁的标识,删除锁前先判断下标识)
一个分布式文件系统,JuiceFS 会将数据格式化以后存储在对象存储,同时会将文件的元数据存储在元数据引擎。JuiceFS 采用多引擎设计,目前已支持 Redis、TiKV、MySQL/MariaDB、PostgreSQL、SQLite 等作为元数据服务引擎。
这里存入最好还是用uuid作为标识(因为若是用线程id作为锁标识。其中的线程id是jvm提供的一个递增的数字。若是我们再集群或者分布式的场景下,其中有不同jvm那么就统一出现线程id冲突的情况了)我们改造的是锁的实现第一步:(获取线程标识(更复杂一点))这里我们是uuid+线程id作为线程标识第二步:释放锁(判断一下标识)获取线程标识(threadId)获取锁里面的标识(也就是前面存的key)判断
解决思路:让多个jvm实现同一把锁(同一个锁监视器)2、集群(多个服务(tomcat))1、单个服务器(tomcat)1、单个服务器(tomcat)例如:我们在单个服务时候。是在一个jvm上的,有一个锁的监听器当线程1来获取锁的时候这锁的监听器就会记录线程1这个名称。线程2再来获取就不行。锁的监视器里面已经有了(也就是互斥了)。2、集群(多个服务器(tomcat))。另一个tomcat里面的jvm
在分布式系统中,在其中的读写操作中,我们想要操作的有三种特性(一致性(C)、可用性(A)、分区容错性(P))但是我们只能保证其中三者中的两个,另外一个是肯定会被牺牲的一致性(C)Consistency :就是对应我们客户端来说每次从数据库得到的都是最新的数据,写的什么数据,我就需要读到什么数据。可用性(A)Availablity :一个好的节点(服务器或者说数据库),在合理的时间返回正确的响应(不







