文件属性

消息中间件之ActiveMQ

旧街凉风 提交于 2020-01-08 13:51:42
什么是消息中间件? 消息中间件是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据 通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,可以在分布式架构下扩展进程之间的通信。 消息中间件能做什么? 消息中间件主要解决的就是分布式系统之间消息传递的问题,它能够屏蔽各种平台以及协议之间的特性,实现引用程序之间的协同。举个非常简单的例子,就拿一个电商平台的注册功能来简单分析下,用户注册这一个服务,不单单只是insert一条数据到数据库里面就完事了,还需要发送激活邮件、发送新人红包或者积分、发送营销短信等一系列操作。假如说这里面的每一个操作,都需要消耗1s,那么整个注册过程就需要耗时4s才能响应给用户。 但是我们从注册这个服务可以看到,每一个子操作都是相对独立的,同时,基于领域划分以后,发送激活邮件、发送营销短信、赠送积分及红包都属于不同的子域。所以我们可以对这些子操作进行来实现异步化执行,类似于多线程并行处理的概念。如何实现异步化呢?用多线程能实现吗?多线程当然可以实现,只是,消息的持久化、消息的重发这些条件,多线程并不能满足。所以需要借助一些开源中间件来解决。而分布式消息队列就是一个非常好的解决办法,引入分布式消息队列以后,架构图就变成这样了(下图是异步消息队列的场景)。通过引入分布式队列,就能够大大提升程序的处理效率,并且还解决了各个模块之间的耦合问题

CentOS7.5搭建HBase1.2.6HA集群

最后都变了- 提交于 2020-01-08 08:28:46
一. HBase的 通用 优化 1 高可用 在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果 Hmaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 Hmaster 的高可用配置。 HBase的高可用集群搭建参考: CentOS7.5搭建HBase1.2.6HA集群 2 Hadoop 的通用性优化 1) NameNode 元数据备份使用 SSD 2) 定时备份 NameNode 上的元数据 每小时或者每天备份,如果数据极其重要,可以 5~10 分钟备份一次。备份可以通过定时任务复制元数据目录即可。 3) 为 NameNode 指定多个元数据目录 使用 dfs.name.dir 或者 dfs.namenode.name.dir 指定。这样可以提供元数据的冗余和健壮性, 以免发生故障。 4) NameNode 的 dir 自恢复 设置 dfs.namenode.name.dir.restore 为 true,允许尝试恢复之前失败的 dfs.namenode.name.dir 目录,在创建 checkpoint 时做此尝试,如果设置了多个磁盘,建议允许。 5) HDFS 保证 RPC 调用会有较多的线程数 属性:dfs.namenode

使用WiX制作简单MSI安装程序

让人想犯罪 __ 提交于 2020-01-08 06:13:05
WiX完全用xml描述,使用命令行来生成。只要用任何一个文本编辑器就可以了。但是为了开发效率,我们还是借助于辅助工具比较好。是一般使用的工具是两个:一个Visual Studio插件,在WiX的安装包里面附带,另一个就是WiXEdit,WixEdit是编辑的XMLXML的源代码的图形化工具箱.WixEdit会让你创造体制条件与MSI和MSM测试wix工具箱.它提供了直观的、轻松的对话方式编辑wix文件来源。 下载和安装 1、下载 Wix 3.0版本 ,目前还是beta。但是已经足够稳定了,可以应用于生产环境。 2、下载 WixEdit 在安装完WiX之后在Visual Studio上有几个WiX的模板,我使用的是Visual Studio 2008,看起来是这个样子的。 创建一个新的WiX项目 1、文件--〉新建--〉项目 2、选择项目类型WiX,选择Wix项目模板点击确定 我们就创建了一个没有安装什么内容的WiX项目,内容如下: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="77da05c4-1644-4bc3-ac14-c0f721fe31fe" Name="WixProject1" Language="1033

CSS

[亡魂溺海] 提交于 2020-01-07 20:14:52
================转载 https://www.cnblogs.com/yuanchenqi/articles/5977825.html ============== 一、什么是CSS CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现和数据内容分离; 二、css的四种引入方式 1、行内式   行内式是在标记的style属性中设定CSS样式。这种方式没有体现出css的优势; <p style="background-color: rebeccapurple">hello yuan</p> 2、嵌入式   嵌入式是将CSS样式集中卸载网页的<head></head>标签对的<style></style>标签中; <head> <meta charset="UTF-8"> <title>Title</title> <style> p{ background-color: #2b99ff; } </style> </head> 3、链接式   将一个.css文件引入到HTML文件中 <link href="mystyle.css" rel="stylesheet" type="text/css"/> 4、导入式   将一个独立的.css文件引入到HTML文件中,导入式使用CSS规则引入外部CSS文件,

VS 错误处理

喜欢而已 提交于 2020-01-07 12:12:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1错误: fatal error C1010: unexpected endof file while looking for precompiled header. Did you forget to add '#include"StdAfx.h"' to your source? #include"StdAfx.h" 你把这个放在头文件里面就行了 2 vc++ 编程出现错误error C2447: missing function header (old-styleformal list?) 原因:函数后面多了分号; SUNSHINE_APISSN_RETURN SsnWriteProfileString(__in INT nPlugInId, __in_opt LPTSTRlpszGroupName, __in LPTSTR lpszKey, __in LPTSTR lpszValue) ; 3 errorC2491: 'SsnWriteProfileString' : definition of dllimport function not allowed 错误 C2491:“SsnWriteProfileString’:dllimport 函数的定义不允许的 SUNSHINE_API SSN

Servlet 工作原理解析

情到浓时终转凉″ 提交于 2020-01-07 04:08:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。 前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多,但是它们都有自己的市场定位,很难说谁优谁劣,各有特点。例如现在比较流行的 Jetty,在定制化和移动领域有不错的发展,我们这里还是以大家最为熟悉 Tomcat 为例来介绍 Servlet 容器如何管理 Servlet。Tomcat 本身也很复杂,我们只从 Servlet 与 Servlet 容器的接口部分开始介绍,关于 Tomcat 的详细介绍可以参考我的另外一篇文章《 Tomcat 系统架构与模式设计分析》。 Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类 Wrapper,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。 图 1 . Tomcat

spring之使用外部属性文件(连接数据库时使用)

自古美人都是妖i 提交于 2020-01-07 01:26:14
(1)在配置文件里配置Bean时,有时需要在bean的配置里混入系统部署的细节信息(例如,文件路径,数据源配置信息等),而这些部署细节实际上是需要和Bean文件分离。 (2)spring提供了一个PropertyPlaceHolderConfigure的BeanFactory后置处理器。这个处理器允许用户将Bean配置文件的部分内容转移到属性文件中,可以在bean配置文件里使用形式为${var}的变量。PropertyPlaceHolderConfigre从属性文件里加载属性,并使用这些属性来替换变量。 (3)spring还允许在属性文件中使用${propName},以实现属性之间的相互引用。 将c3p0和mysql驱动加入到build path中。 首先确保启动了mysql服务,然后在配置文件中引入context命名空间。 db.properties user=root password=123456 jdbcUrl=jdbc:mysql:///test driverClass=com.mysql.jdbc.Driver beans-properties.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=

20200106 Spring官方文档(Core 9)

萝らか妹 提交于 2020-01-07 01:24:21
9.附录 9.1。XML模式 9.1.1。util模式 util 标记处理常见的实用程序配置问题,例如配置集合,引用常量等。 util schema: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd"> <!-- bean definitions here --> </beans> 使用 <bean id="..." class="..."> <property

shell编程题(十七)

跟風遠走 提交于 2020-01-06 12:27:44
题目: 终端输入一个文件名,判断是否是设备文件。 答案: #!/bin/bash echo -e "please input a filename to judge it is or not a device file.\n\n" read -p "Input a filename: " filename if [ -b $filename -o -c $filename ]; then echo "$filename is a device file" exit 0 else echo "$filename is not a device file" exit 1 fi 扩展: 文件类型判断: [-b]:表示判断文件属性是否是装置文件里面的可供储存的接口设备(可随机存取装置); [-d]:表示判断文件属性是否是目录; [ - ]:表示判断文件属性是否是文件;(存疑,不知道是不是这种表示方法) [ - l ]:表示判断文件属性是否为链接文档(link file); [ - c ]:表示判断文件属性是否为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 来源: https://www.cnblogs.com/wanghao-boke/p/12152261.html

Linux用户权限设置

为君一笑 提交于 2020-01-05 12:22:35
Linux 下有三类用户: 1. 超级用户: root 具有操作系统的一切权限, UID 为 0 2. 普通用户:具有操作系统有限的权限 UID 为 500 — 6000 3. 伪用户: 是为了方便系统管理,满足相应的系统进程文件属主的要求,不能登录系统, UID 为 1--499 Linux 通过 /etc/passwd 进行用户管理, 执行命令打开该文件: vi /etc/passwd 在此文件中只定义账号,不定义口令。一行定义一个用户,分为七个部分 : 第一列为账号名称, 第二列为用户密码 ( 密码不在此定义 ) , 第三列为用户标识码 ( 用户 ID) ,用来确认用户身份 第四列为用户所在组的表示 ( 用户组 ID) , 第五列为用户相关信息 ( 如 root) , 第六列为用户家目录 (/root), 第七列为用户的环境 ( 用户使用的 shell) shell: 命令行命令解析器,如 echo $SHELL, 查看当前 shell id 账户名,查看当前账户的 uid 改变所属用户组 : chgrp [-R] dirname/filename .. -R: 进行递归 (recursive) 的持续更改,即连同子目录下得所有文件、目录都更新成这个用户组。常常用在更改某一目录的情况 eg: chgrp users install.log //users 为用户组名