当前位置: 首页 > 软件库 > 开发工具 > >

Rainy

中小型的静态资源同步
授权协议 GPL
开发语言 Java
所属分类 开发工具
软件类型 开源软件
地区 不详
投 递 者 西门磊
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Rainy的含义就是下雨,下雨就是从各种地方来的水汇入到大地的过程,所以Rainy做的事情也一样,就是把四处的文件汇总到某个大地服务器,比如你的静态资源。

在你上传的资源或者文档的时候可以帮你将上传到不同机器的文档汇总到某一台master机器上。

应用场景

中小型的静态资源同步;

比如,你部署了多台后端服务器,但是有个上传资源的地方,这种时候怎么让前端可以展示刚刚上传的资源呢?当然可以使用CMS,但是当我们还没有成长为一个大软件的时候,Rainy是一个不错的选择,通过把Rainy分别部署为Master跟Slave,可以方便的将Slave上面的资源同步到Master节点,这时候只要所有的静态资源访问都被导向到Master节点,那么自然上传的文件就是可以访问到的。

使用需求

  1. 要求JDK 1.7以上,因为使用了JDK 1.7的API,所以请使用1.7以上运行环境

  2. 使用maven管理依赖

  3. 依赖于Netty

项目运行方式

从代码运行 该项目为maven项目,下载代码之后直接导入到eclipse即可。启动的方式为下面的两种方式:

  • 启动Master

rainy.file.synchronization.server.MonitorServer
  • 启动Master

rainy.file.synchronization.client.FileSendClient
  • 直接从二进制运行 项目下面有个bin目录,下载后直接进入bin目录有bat文件可以让你运行服务器和client

项目集成方式

对于普通的java项目或者其他类型的项目,可以采用从二进制代码运行的方式来启动服务器即可。 Linux 可以拷贝bin目录,并使用下面的命令:

  • 启动服务器

nohup java -cp .:netty-all-5.0.0.Alpha1.jar:commons-codec-1.9.jar:synchronization-0.0.2-SNAPSHOT.jar rainy.file.synchronization.server.MonitorServer &
  • 启动Slave文件同步

nohup java -cp .:netty-all-5.0.0.Alpha1.jar:commons-codec-1.9.jar:synchronization-0.0.2-SNAPSHOT.jar rainy.file.synchronization.client.FileSendClient &
  • 启动Slave 文件tail

nohup java -cp .:netty-all-5.0.0.Alpha1.jar:commons-codec-1.9.jar:synchronization-0.0.2-SNAPSHOT.jar rainy.file.synchronization.client.FileTailerSendClient &

对于任意配置文件的修改,请修改bin下面的rainy.properties即可

对于web项目

如果你需要自己决定哪台服务器作为master请自己编写代码并调用上面的FileSendClient和MonitorServer即可。 如果你不想自己决定,那么可以通过APP类进行启动。 master的决定方式参照如下顺序, 首先根据你定义的rainy.properties中的rainy.master.serverName来检查本机的servername是否一致,如果一致则为master。 如果不一致,那么将会获取本机所有的网卡信息,并对比IP,如果IP中有一个跟你的serverName一致,那么则为master, 如果以上都不满足则为slave。

  • Unit 6 - The Way to Rainy Mountain The Way to Rainy Mountain N·Scott Momaday A single knoll rises out of the plain in Oklahoma, north and west of the Wichita Range. For my people, the Kiowas, it is an

  • biti_rainy 链接:http://blog.csdn.net/biti_rainy 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3618/viewspace-485376/,如需转载,请注明出处,否则将追究法律责任。 转载于:http://blog.itpub.net/3618/viewspace-485376/

  • // hihocoder 1251 Today Is a Rainy Day // 题目大意 // 两个最大长度为110的只含123456这六种字符 // 的字符串,有两种操作: // 1)将一个字符转换成另一个 // 2)将一种字符转换成另一个 // // 解题思路: // // 首先我们要明白,2操作比1操作改变的字符要多很多 // 这样,如果1操作在2操作之前,;不如2在1之前,修改

  • biti_rainy的博客 链接:http://blog.itpub.net/biti_rainy 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3618/viewspace-485178/,如需转载,请注明出处,否则将追究法律责任。 转载于:http://blog.itpub.net/3618/viewspace-485178/

 相关资料
  • 每个网站都需要静态资源:图片、样式表、网站图标(favicon)等。在这种情况下,您可以在项目的根目录下创建一个名为 static 的目录。 放入 该目录中的每个文件都将被复制到 生成的 build 文件夹中,并保留目录的层级结构。例如,如果您将名为 sun.jpg 的文件添加到 static 文件夹中,则该文件将被复制到 build/sun.jpg 路径。 这意味着: 对于 baseUrl: '

  • 如果你以前使用过官方的 vuejs-templates/webpack 样板,那么你应该对 static/ 目录很熟悉。这里面,你可以放置可供 main 和 renderer 进程使用的静态资源。在 Vue 应用程序中使用这些资源很简单,但是使用 fs 和其他需要完整路径的模块可能会有点棘手。 幸运的是,electron-vue 提供了一个 __static 变量,它可以在开发和产品阶段生成 st

  • JS 代码中引用媒体文件 可以直接在代码中使用 ES6 的 import 语法引入文件并在 JSX 中使用,目前仅支持图片类型的媒体文件。 JSON 中引用媒体文件 当你需要在 app.json 中配置使用的本地媒体文件(比如导航栏图片地址)时,可以将使用到的媒体文件放置到 src 下的某个目录下,并在 build.json 中将其配置到 constantDir 字段的数组中,示例如下: {

  • 相关: 公共基础路径 相关: assetsInclude 配置项 将资源引入为 URL 服务时引入一个静态资源会返回解析后的公共路径: import imgUrl from './img.png' document.getElementById('hero-img').src = imgUrl 例如,imgUrl 在开发时会是 /img.png,在生产构建后会是 /assets/img.2d8e

  • 所有的Markdown文件都通过Vite处理编译成Vue组件。你可以并且应当使用相对URL引用静态资源。 ![An image](./image.png) 你可以在你的Markdown文件、主题中的*.vue组件、样式和纯.css文件使用绝对公共路径(基于项目根目录)或相对路径(基于你的文件系统)。如果你使用过vue-cli或webpack的file-loader,后者更符合你的习惯。 常见的图

  • Fes.js 基于 html-webpack-plugin在新窗口打开 实现的模板功能,默认 HTML模板 是: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewp

  • 有时你需要在 Markdown 文件中直接链接到静态资源,因此,将静态资源与 markdown 文件放在一起就会很方便。 我们已经为 Webpack 设置了相应的加载器(loaders)来处理大多数常见的文件类型,以便在导入(import)文件时获得其 url,并将静态资源自动复制到输出目录中。 假设有以下文件结构: # 你的文档 /website/docs/myFeature.mdx # 你要

  • 你会注意到在项目结构上我们有静态资源两个目录:src/assets 和 static/。它们之间有什么区别? 通过webpack处理的资源 要回答这个问题,我们首先需要了解webpack如何处理静态资源。在*.vue组件中,你所有的html模板和CSS都会被vue-html-loader 和 css-loader压缩并且查找资源路径。例如,<img src="./logo.png"> 和 back