《MySql面试专题》
《MySql性能优化的21个最佳实践》
《MySQL高级知识笔记》
文中展示的资料包括:**《MySql思维导图》《MySql核心笔记》《MySql调优笔记》《MySql面试专题》《MySql性能优化的21个最佳实践》《MySq高级知识笔记》**如下图
关注我,点赞本文给更多有需要的人
-
①Maven+SpringBoot+SpringDataJPA作为基础架构
-
②Dubbo+Zookeeper作为服务治理架构
-
③Nacos作为配置中心
-
④Redis做分布式缓存、过期监听
-
⑤Zookeeper做分布式锁
-
⑥WebSocket+Netty做消息推送
-
⑦Solr做全文检索引擎
-
⑧FastDFS做分布式文件系统
-
⑨基于Redis+token+自定义注解实现接口幂等性
=========================================================================
=========================================================================
-
①上传功能:主要是针对大文件的切块上传、秒传、文件夹上传
-
②下载功能:主要是大文件的切块下载;多文件(夹)合并、压缩下载
-
③文件分享:文件分享包括好友分享、私密链接分享、分享文件的转存
-
④相册管理:可以建立不同的相册来管理图片,并且可以图片在线预览功能
-
⑤回收站:删除的文件进入回收站,可以进行还原或者彻底删除
-
⑥推送功能:主要是好友分享消息推送、过期消息推送、容量更新推送
-
⑦分布式锁:主要是基于Zookeeper实现分布式锁,保证高并发情况下系统的数据安全
-
⑧过期监听:主要是基于Redis过期事件实现监听功能,包括:分享失效监听、删除过期监听等
-
⑨日志采集:通过AOP埋点的方式进行采集用户请求日志,并远程传输到日志服务端;自定义Dubbo的Filter实现链路ID的生成
-
⑩文件搜索:集成Solr框架实现全文搜索功能
-
⑪文件存储:集成FastDFS框架实现文件分布式存储
-
⑫其他琐碎功能:比如,复杂、移动、预览、删除、重命名、在线创建、在线编辑、编辑历史版本留痕等等
-
⑬Office在线编辑: 后期更新
-
⑭h5版本客户端: 预计4月25号更新
-
⑮c/s版本客户端: 后期更新
-
⑯业务系统API客户端:【 已经完成】
-
⑰图片新增水印: 后期更新
-
⑱图片在线裁剪: 后期更新
=========================================================================
-
①组件管理:主要管理文件的预览和编辑组件
-
②类型管理:主要是管理文件的格式、对应的图标、对应的预览和编辑组件
-
③日志管理:存储和展示业务系统的操作日志记录,并且可以根据追踪ID来关联所有的日志信息
===========================================================================
参考:https://gitee.com/college996/zwz-netdisk/wikis
后期会编写一个自动化脚本,做到快速本地部署
===========================================================================
====================================================================================
1、更新的功能点说明
-
①开发了针对业务系统集成的客户端,netdisk-client、netdisk-client-provider
-
②完善的接口幂等性,redisTemplate执行LUA脚本保证原子性,【判断key是否存在+保存值】这两步是有原子性问题,netdisk-web-perpc/src/main/java/com.micro.idempotence.NoRepeatAop类
-
③日志采集,增加了开关(Nacos配置:busilog.state=off),netdisk-log-api/src/main/java/com.micro.logs.aop.CollectionLogAop
-
④完善了Redis功能,新增redis密码,避免遭遇攻击(Nacos配置:redispwd=xxxx)
-
⑤完善了切块临时记录存储问题,合并切块接口调用完成之后里面删除Redis里面的切块记录,避免大量切块记录过期造成的压力
2、如果想获取该版本,则更新以下操作
-
①拉取后端代码
-
②更新前端工程:zwz-disk-manage(新增了应用系统文件管理),更新地址:https://gitee.com/college996/zwz-disk-manage.git
-
③Nacos配置文件,需要获取nacos_config_20200414.zip,可以从网盘分享里面获取,或者从上面的附件获取
-
④安装Redis时,需要设置密码,参考:wiki里面的redis安装
=================================================================================
如何集成
第一步:运行netdisk-service-provider.jar
第二步:运行netdisk-client-provider.jar
第三步:业务注册,首先需要让管理员到后台系统新增一条记录,然后拿到APPID(后台系统->应用管理模块)
第四步:业务系统,采用原生的方式集成,导入disk-client-javasdk.jar包或者对应其坐标
com.micro netdisk-client-javasdk 0.0.1-SNAPSHOT
示例代码:
public static void main(String[] args){ List hosts=new ArrayList<>(); hosts.add(new HostBean(“127.0.0.1”, 8015, 1)); FileService fs=FileFactory.createFileService(hosts,“ddd”); //检查md5是否存在 String appId=“11111”; String filemd5=“xxxx”; int count=fs.checkFileByMd5(appId, filemd5); }
第五步:业务系统,采用SpringBoot starter的方式集成,导入netdisk-spring-boot-starter.jar的坐标
com.micro netdisk-spring-boot-starter 0.0.1-SNAPSHOT
application.properties
netdisk.server.host=127.0.0.1:8015
示例代码:
@Autowiredprivate FileService fs;@RequestMapping(“/upload”)public String upload() throws InterruptedException{ String appId=“11111”; String filemd5=“xxxx”; //检查md5是否存在 int count=fs.checkFileByMd5(appId, filemd5);}
3、API接口说明
最后
分享一些资料给大家,我觉得这些都是很有用的东西,大家也可以跟着来学习,查漏补缺。
《Java高级面试》
《Java高级架构知识》
《算法知识》
2ttlfDf-1715352241426)]
《算法知识》
[外链图片转存中…(img-aTEc2qwm-1715352241426)]