FastDFS【SpringBoot操作FastDFS、复习】(三)-全面详解(学习总结---从入门到深化)

目录

SpringBoot操作FastDFS

复习:

SpringBoot操作FastDFS

 由GitHub大牛tobato在原作者YuQing与yuqih发布的JAVA客户端基 础上进行了大量重构工作,并于GitHub上发布了FastDFS-Client1.26.5。

主要特性

1 对关键部分代码加入了单元测试,便于理解与服务端的接口交易,提高接口质量

2 将以前对byte硬解析风格重构为使用对象+注解的形式,尽量增强了代码的可读性

3 支持对服务端的连接池管理

4 支持上传图片时候检查图片格式,并且自动生成缩略图

5 在SpringBoot当中自动导入依赖

 实战开发

导入FastDFS依赖jar

<dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>1.26.5</version>
</dependency>

配置SpringBoot的入口类

package com.demo;
import com.github.tobato.fastdfs.FdfsClientConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.EnableMBeanExport;
import org.springframework.context.annotation.Import;
import org.springframework.jmx.support.RegistrationPolicy;
//==========================================
=========================
//获取带有连接池的FastDFS Java客户端
@Import(FdfsClientConfig.class)
// 解决jmx重复注册bean的问题
@EnableMBeanExport(registration =
RegistrationPolicy.IGNORE_EXISTING)
//==========================================
=========================
@SpringBootApplication
public class FastdfsSpringbootDriverApplication {public static void main(String[] args) {SpringApplication.run(FastdfsSpringbootDriverApplication.class, args);}
}

配置springboot的application.yml配置文件

============================================
=======================
# 分布式文件系统FDFS配置
============================================
=======================
fdfs:so-timeout: 1501connect-timeout: 601thumb-image:             #缩略图生成参数width: 150height: 150tracker-list:           #TrackerList参数,支持多个- 192.168.66.100:22122- 192.168.66.101:22122

上传文件操作

/*** 测试springboot环境下的javaAPI对分布式文件系统的上传文件的操作* @throws FileNotFoundException*/@Testpublic void testUpload() throws FileNotFoundException {//获取本地文件File file = new File("G:\\图片\\mei.jpg");//创建传输文件的输入流FileInputStream fileInputStream = new FileInputStream(file);//文件上传:参数一:传输文件内容的输入流;参数二:文件的size;参数三:文件扩展名;参数四:描述文件的元数据;返回值:上传文件在存储节点的唯一标识(卷名+文件名)StorePath storePath = fastFileStorageClient.uploadFile(fileInputStream, file.length(), "jpg", null);//将卷名与文件名一起打印System.out.println(storePath.getFullPath());//将卷名与文件名分别打印System.out.println(storePath.getGroup()+" | "+storePath.getPath());}

文件下载的操作

    /*** 测试springboot环境下的javaAPI对分布式文件系统的下载文件的操作* @throws IOException*/@Testpublic void testDownload() throws IOException {//下载文件:参数一:文件处于存储节点的卷名;参数二:文件在存储节点的文件名;参数三:下载的回调函数;返回值:文件内容的字节数组byte[] bytes = fastFileStorageClient.downloadFile("group1","M00/00/00/wKhCZWICJcqAftV0AAChCwXlPdE133.jpg", new DownloadByteArray());//创建文件输出流,指定输出位置及文件名FileOutputStream fileOutputStream = new FileOutputStream("G:\\mei.jpg");//使用文件输出流将文件内容字节数组写出fileOutputStream.write(bytes);//刷新输出流fileOutputStream.flush();//关闭输出流fileOutputStream.close();}

复习:

Nginx场景实践_Nginx高可用

 什么是高可用?

高可用HA(High Availability)是分布式系统架构设计中必须考虑 的因素之一,它通常是指,通过设计减少系统不能提供服务的时 间。如果一个系统能够一直提供服务,那么这个可用性则是百分之 百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。

解决的问题

在生产环境上很多时候是以 Nginx 做反向代理对外提供服务,但 是一天Nginx难免遇见故障,如:服务器宕机。当 Nginx 宕机那么 所有对外提供的接口都将导致无法访问。虽然我们无法保证服 务器百分之百可用,但是也得想办法避免这种悲剧,今天我们 使用 keepalived 来实现 Nginx 的高可用。 

双机热备方案 

这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实 就是指一台服务器在提供服务,另一台为某服务的备用状态,当一 台服务器不可用另外一台就会顶替上去。

实时效果反馈

1. Nginx 双机热备方案主要解决什么问题。

A 安全问题 

B nginx单点故障问题

C 性能问题

D 并发问题

Nginx场景实践_LVS负载均衡 

LVS是一个开源的软件,可以实现传输层四层负载均衡。LVS是 Linux Virtual Server的缩写,意思是Linux虚拟服务器。 

目标:

通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。 

LVS的八种调度算法

1 、轮叫调度 rr

2 、加权轮叫 wrr

3 、最少链接 lc

4 、加权最少链接 wlc

5 、基于局部性的最少连接调度算法 lblc

6 、复杂的基于局部性最少的连接算法 lblcr

7 、目标地址散列调度算法 dh

8 、源地址散列调度算法 sh 

实时效果反馈

1. LVS是一个开源的软件,可以实现____四层负载均衡。

A 应用层

B 链路层

C 传输层

D 会话层

2. 下列不属于LVS负载均衡算法的是____。

A 轮叫调度 rr 

B 加权轮叫 wrr

C 最少链接 lc

D ip_hash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7825.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用家庭宽带和摄像头,实现公网直播

那天去逛商场看到有个营业厅&#xff0c;本想进去问问有没有存话费送话费的活动&#xff0c;结果被忽悠办了一个19.9升千兆宽带加送一个路由器的业务。 网络环境验证 听他们说现在家庭宽带都是有公网IPV6地址的&#xff0c;立马用电脑试了下确实有IPV6地址。 赶紧随便写了几行…

C++ 数据结构图(1)

1. 图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E) &#xff0c;其中&#xff1a; 顶点集合 V {x|x 属于某个数据对象集 } 是有穷非空集合 &#xff1b; E {(x,y)|x,y 属于 V} 或者 E {<x, y>|x,y 属于 V &&…

那些无法避免的弯路

近日&#xff0c;某高校毕业生在校期间窃取学校内网数据&#xff0c;收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注。在大数据时代&#xff0c;算法分发带来了隐私侵犯&#xff0c;在享受消费生活等便捷权利的同时&#xff0c;似乎又有不…

Lion:闭源大语言模型的对抗蒸馏

Lion&#xff1a;闭源大语言模型的对抗蒸馏 Lion&#xff0c;由香港科技大学提出的针对闭源大语言模型的对抗蒸馏框架&#xff0c;成功将 ChatGPT 的知识转移到了参数量 7B的 LLaMA 模型&#xff08;命名为 Lion&#xff09;&#xff0c;在只有 70k训练数据的情况下&#xff0…

84、基于stm32单片机超市自助存储柜快递箱系统设计(程序+原理图+流程图+参考论文+开题报告+任务书+设计资料+元器件清单等)

单片机主芯片选择方案 方案一&#xff1a;AT89C51是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元&a…

select 框添加树结构(todu)

1. 案例: 2. 代码 下班了&#xff0c;明天写

短视频seo矩阵+抖音小程序源码开发解决方案(一)

该解决方案主要针对产品用户交易决策周期长/非标定制等情况的企业&#xff0c;如&#xff1a;房产、汽车、金融、咨询服务&#xff0c;广告设计、网络科技公司&#xff0c;TOB类销售行业等。 基于不同的经营场景&#xff0c;解决方案全面更新&#xff0c;新增账号管理&#xf…

【嵌入式Qt开发入门】如何使用Qt进行文本读写——QFile读写文本

在很多时候我们需要读写文本文件进行读写&#xff0c;比如写个 Mp3 音乐播放器需要读 Mp3 歌词里的文本&#xff0c;比如修改了一个 txt 文件后保存&#xff0c;就需要对这个文件进行读写操作。本文介绍简单的文本文件读写&#xff0c;内容精简&#xff0c;让大家了解文本读写的…

JavaWeb 速通HTML(常用标签汇总及演示)

目录 一、拾枝杂谈 1.网页组成 : 1 结构 2 表现 3 行为 2.HTML入门 : 1 基本介绍 2.基本结构 : 3.HTML标签 : 1 基本说明 2 注意事项 二、常用标签汇总及演示 1.font标签 : 1 定义 2 演示 2.字符实体 : 1 定义 2 演示 3.标题标签 : 1 定义 2 演示 4. 超链接标签 : 1…

2023年07月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年07月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多&#xff0c;人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

【CSS】定位

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;HTMLCSS &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录 标准流&#xff08;Normal Flow&#xff09;元素定位position属性静态定位-static…

Squid代理服务器应用

目录 一、概述 1.代理的工作机制 2.代理服务器的概念 3.作用 4.Squid代理类型 二、安装 Squid 服务 1.编译安装 Squid 2.修改 Squid 的配置文件 3. Squid 的运行控制 4.Squid 服务自动化管理 4.1编写 squid 服务脚本 4.2加入系统服务 三、构建传统代理服务器 1.修…