
分布式RPC调用和分布式文件存储
在未来的项目中,大多数的应用架构都会采用分布式架构方式,在分布式架构中对于服务之间的通讯以及分布式文件存储都是非常重要的环节。本阶段博文以分布式操作为主,包含了分布式中的远程调用解决方案以及分布式文件存储解决方案的讲解。能够让大家更好的应对在分布式架构中对于服务的调用以及分布式文件存储的问题。
地球村公民
这个作者很懒,什么都没留下…
展开
-
Java Swagger:(六)Swagger2 常用注解
Swagger2 常用注解1.Api2.ApiOperation3.ApiParam4.ApiModel5.ApiModelProperty6.ApiIgnore7.ApiImplicitParam1.Api@Api 是类上注解。控制整个类生成接口信息的内容。tags:类的名称。可以有多个值,多个值表示多个副本。description:描述,已过时代码示例:@RestController@RequestMapping("/people")@Api(tags = {"mydemo"},原创 2020-08-14 11:08:27 · 1278 阅读 · 0 评论 -
Java Swagger:(五)Swagger 配置
Swagger 配置1.配置基本信息2.设置扫描的包3.自定义注解设置不需要生成接口文档的方法3.1 自定义注解3.2 添加规则3.3 添加 NotIncludeSwagger 注解4.设置范围可以在项目中创建 SwaggerConfig,进行配置文档内容。1.配置基本信息Docket:摘要对象,通过对象配置描述文件的信息。apiInfo:设置描述文件中 info。参数类型 ApiInfoselect():返回 ApiSelectorBuilder 对象,通过对象调用 build()可以创建原创 2020-08-14 10:52:39 · 2035 阅读 · 0 评论 -
Java Swagger:(四)Swagger-UI 使用
Swagger-UI 使用访问 swagger-ui.html 后可以在页面中看到所有需要生成接口文档的控制器名称。每个控制器中间包含多所有控制器方法的各种访问方式。如果使用的是@RequestMapping 进行映射,将显示下面的所有请求方式。如果使用@PostMapping 将只有 Post 方式可以能访问,下面也就只显示 Post 的一个。点击某个请求方式中 try it out会出现界面要求输入的值。输入完成后点击 Execute 按钮下面会出现 Request URL 以及不同原创 2020-08-14 10:37:53 · 843 阅读 · 0 评论 -
Java Swagger:(三)Swagger 极致用法
Swagger 极致用法1.编写 SpringBoot 项目2.导入 Spring-fox 依赖3.添加注解4.访问 swagger-ui1.编写 SpringBoot 项目编写 SpringBoot 项目,项目中 controller 中包含一个 Handler,测试项目,保证程序可以正确运行@RestController@RequestMapping("/people")public class DemoController { @RequestMapping("/getPeopl原创 2020-08-14 10:26:51 · 1375 阅读 · 0 评论 -
Java Swagger:(二)Springfox
Springfox使用 Swagger 时如果碰见版本更新或迭代时,只需要更改 Swagger 的描述文件即可。但是在频繁的更新项目版本时很多开发人员认为即使修改描述文件(yml 或 json)也是一定的工作负担,久而久之就直接修改代码,而不去修改描述文件了,这样基于描述文件生成接口文档也失去了意义。Marty Pitt 编写了一个基于 Spring 的组件 swagger-springmvc。Spring-fox 就是根据这个组件发展而来的全新项目。Spring-fox 是根据代码生成接口文档,所原创 2020-08-14 10:15:27 · 389 阅读 · 0 评论 -
Java Swagger:(一)Swagger 简介
Swagger 简介1.前言2.Open API 是什么3.Swagger 简介1.前言接口文档对于前后端开发人员都十分重要。尤其近几年流行前后端分离后接口文档又变成重中之重。接口文档固然重要,但是由于项目周期等原因后端人员经常出现无法及时更新,导致前端人员抱怨接口文档和实际情况不一致。很多人员会抱怨别人写的接口文档不规范,不及时更新。当时当自己写的时候确实最烦去写接口文档。这种痛苦只有亲身经历才会牢记于心如果接口文档可以实时动态生成就不会出现上面问题。Swagger 可以完美的解决上面的问题。原创 2020-08-14 10:12:53 · 4761 阅读 · 0 评论 -
Java FastDFS:(三)Java 客户端 API 简单应用
Java 客户端 API 简单应用1.依赖2.创建客户端2.1 根据 conf 文件创建客户端2.1.1 conf 配置文件2.1.2 代码2.2 根据 properties 文件创建客户端2.2.1 properties 配置文件2.2.2 代码3.定义 FastDFS 工具类4.文件上传4.1 代码4.2 结果5.文件下载5.1 代码5.2 结果6.删除文件6.1 代码6.2 结果1.依赖<dependency> <groupId>cn.bestwu</groupI原创 2020-08-13 11:59:16 · 471 阅读 · 0 评论 -
Java FastDFS:(二)FastDFS的安装-10000字匠心巨作
FastDFS的安装1.核心安装1.1 安装 FastDFS 依赖1.2 解压 FastDFS 核心库1.3 进入解压后的目录1.4 编译安装1.5 创建软连接1.6 解压 FastDFS 主程序1.7 进入 FastDFS 主程序源码目录1.8 修改安装路径1.9 编译安装1.10 FastDFS 安装后资源简介1.10.1 服务脚本1.10.2 配置文件模板1.10.3 内置命令2.tracker 基础配置2.1 创建跟踪服务配置文件2.2 修改配置文件2.3 创建自定义目录2.4 修改启动服务脚本2.原创 2020-08-13 11:10:12 · 235 阅读 · 0 评论 -
Java FastDFS:(一)FastDFS的简介
FastDFS的简介1.架构图2.上传流程3.下载流程4.术语简介5.同步机制6.FastDFS 运行时目录结构6.1 Tracker Server 目录6.2 Storage Server 目录7.FastDFS 和其他文件存储的简单对比7.1 FastDFS 和集中存储方式对比7.2 FastDFS 和 mogileFS 对比技术论坛资源地址源码资源FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大原创 2020-08-13 09:53:47 · 677 阅读 · 0 评论 -
Java Dubbo:(八)项目打包
项目打包1. 基于 SpringBoot 整合 Dubbo 的打包方式2.基于 Assembly 插件打包2.1 Assembly 插件2.2 使用步骤1. 基于 SpringBoot 整合 Dubbo 的打包方式通过 SpringBoot 打包插件打包项目(install) <plugins> <plugin> <groupId>org.springframework.boot</gr原创 2020-08-12 18:57:57 · 381 阅读 · 0 评论 -
Java Dubbo:(七)Dubbo 中服务的负载均衡
Dubbo 中服务的负载均衡1.什么是服务集群1.1 服务集群优点1.2 集群模式1.2.1 真实集群1.2.2 伪集群2.什么是负载均衡3.负载均衡解决方案分类及特征3.1 集中式负载均衡3.1.1常见的集中式负载均衡方式3.1.1.1 DNS 轮询3.1.1.2 反向代理负载均衡3.1.1.3 基于硬件的负载均衡3.2 进程内负载均衡4.Dubbo 的内置负载均衡策略4.1 Random4.2 RoundRobin4.3 LeastActive4.4 ConsistentHash5.Dubbo 负载均衡原创 2020-08-12 18:54:08 · 704 阅读 · 0 评论 -
Java Dubbo:(六)Dubbo 监控与管理
Dubbo 监控与管理1.监控平台: dubbo-monitor1.1 Dubbo Monitor 简介1.2 Dubbo Monitor 的使用(版本2.5.3)1.3 启动 Monitor1.4Monitor 监控界面2.管理控制台:dubbo-admin2.1 Dubbo-Admin 简介2.2 Dubbo Admin 的使用2.3 启动 Admin2.4 Admin 管理界面1.监控平台: dubbo-monitor1.1 Dubbo Monitor 简介主要用来统计服务的调用次数和调用时间原创 2020-08-12 18:33:37 · 449 阅读 · 2 评论 -
Java Dubbo:(五)Spring Boot 整合 Dubbo-7000字匠心出品
Spring Boot 整合 Dubbo1.创建服务接口1.1 创建项目1.2 添加接口2.创建 Provider2.1 创建项目2.2 修改 POM 文件添加依赖2.3 添加接口实现2.4 在配置文件中配置 Dubbo2.5 启动 Provider2.5.1 通过 spring-boot-starter-web 启动 Dubbo(POM文件中的启动器)2.5.2 通过 spring-boot-starter 启动 Dubbo3.创建 Consumer3.1创建项目3.2修改 POM 文件添加依赖3.3编写原创 2020-08-12 18:07:36 · 2185 阅读 · 2 评论 -
Java Dubbo:(四)Dubbo 应用(每一步都展现的清清楚楚-巨细)-15000字匠心巨作
Dubbo 应用1.创建父工程2.创建服务接口2.1创建项目2.2添加接口3.创建 Provider3.1创建项目3.2修改 POM 文件添加依赖3.3添加接口实现4.添加 Dubbo 的配置文件4.1Dubbo 配置文件的存放位置4.2配置文件内容(二选一)4.2.1使用配置 bean 标签配置接口实现类4.2.2使用注解方式开发服务接口4.2.2.1需改配置文件4.2.2.2修改接口实现类4.3启动 Provider(创建 Dubbo 启动类)5.使用 Zookeeper 客户端工具查看注册信息5.1解原创 2020-08-12 15:06:40 · 314 阅读 · 0 评论 -
Java Dubbo:(三)Dubbo 支持的协议与注册中心
Dubbo 支持的协议与注册中心1.Dubbo 支持的协议1.1Dubbo 协议(官方推荐协议)1.2RMI(Remote Method Invocation)协议1.3Hessian 协议2.Dubbo 支持的注册中心2.1Zookeeper(官方推荐)2.2Multicast2.3Redis2.4Simple1.Dubbo 支持的协议1.1Dubbo 协议(官方推荐协议)优点:采用 NIO 复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)缺点:大文件上原创 2020-08-11 16:35:17 · 354 阅读 · 0 评论 -
Java Dubbo:(二)Dubbo 架构讲解
Dubbo 架构讲解1.架构图2.架构说明3.执行流程1.架构图2.架构说明虚线虚线表示异步,实线表示同步。异步不阻塞线程性能高,同步阻塞线程必须等待响应结果才能继续执行,相对性能低。Provider暴露服务的服务提供方。Container服务运行容器。Dubbo 完全基于 Spring 实现的Registry服务注册与发现的注册中心。注册中心,放置所有 Provider 对外提供的信息。包含 Provider 的 IP,访问端口,访问遵守的协议,对外提供的接口,接口中有哪些方法等相原创 2020-08-11 16:22:50 · 269 阅读 · 0 评论 -
Java Dubbo:(一)Dubbo 简介
Dubbo 简介1.Dubbo 是什么2.发展历史3.Dubbo 能做什么4.Dubbo 产生的背景1.Dubbo 是什么Dubbo 官网地址Dubbo 最早是 Alibaba 开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo 采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。原创 2020-08-11 16:13:04 · 2547 阅读 · 0 评论 -
Java Zookeeper:(四)使用 Java API 操作 Zookeeper
使用 Java API 操作 Zookeeper1.创建 Znode1.1创建项目1.2修改 POM 文件添加依赖1.3创建 Znode 并添加数据2.获取 Znode 中的数据2.1获取指定节点中的数据2.2获取所有子节点中的数据3.设置 Znode 中的值4.删除 Znode1.创建 Znode1.1创建项目一个正常的maven项目1.2修改 POM 文件添加依赖该依赖为基于 Java 语言连接 Zookeeper 的客户端工具 <dependency>原创 2020-08-11 15:41:57 · 478 阅读 · 0 评论 -
Java Zookeeper:(三)Zookeeper 常用命令
Zookeeper 常用命令1.ls 命令2.create 命令3.get 命令4.set 命令5.delete 命令1.ls 命令ls /path使用 ls 命令查看 zookeeper 中的内容。在 ZooKeeper 控制台客户端中,没有默认列表功能,必须指定要列表资源的位置。 如: ls / 或者 ls /path2.create 命令create [-e] [-s] /path [data]使用 create 命令创建一个新的 Znode。create [-e] [-s] p原创 2020-08-11 10:28:35 · 5546 阅读 · 0 评论 -
Java Zookeeper:(二)安装 zookeeper(单机/集群)
安装 zookeeper1.在Linux中安装单机版1.1安装 JDK1.2上传 Zookeeper1.3解压 Zookeeper 压缩包1.4Zookeeper 目录结构1.5配置 Zookeeper1.6启动 Zookeeper1.7停止 Zookeeper1.8查看 Zookeeper 状态1.9使用客户端连接单机版 Zookeeper2.在Linux中安装集群版2.1Zookeeper 集群中的角色2.2集群安装2.3提供数据缓存目录2.4复制应用2.5提供配置文件2.6修改配置文件 zoo.cfg原创 2020-08-10 21:32:40 · 399 阅读 · 0 评论 -
Java Zookeeper:(一)Zookeeper 简介
Zookeeper 简介1.什么是 Zookeeper2.Zookeeper 的存储结构2.1.Znode2.2.Znode 节点类型3.监听通知机制1.什么是 ZookeeperZookeeper 官网Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。官方文档上这么解释 Zookeeper,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说 zookeeper原创 2020-08-10 17:39:01 · 808 阅读 · 0 评论