存储简介:
中介库。
本地存储
,外置存储:
本地存储:
就是使用内存或者硬盘进行存储。外置存储:
就是会用U盘或移动硬盘进行存储。DAS(Direct Attach STorage)
,SAN(Storage Area Network)
,NAS(Network Attached Storage):
DAS:
是直接连接于主机服务器的一种储存方式,每一台主机服务器有独立的储存设备,每台主机服务器的储存设备无法互通,需要跨主机存取资料时,必须经过相对复杂的设定,若主机服务器分属不同的操作系统,要存取彼此的资料,更是复杂,有些系统甚至不能存取。通常用在单一网络环境下且数据交换量不大,性能要求不高的环境下,可以说是一种应用较为早的技术实现。SAN:
是一种用高速(光纤)网络联接专业主机服务器的一种储存方式,此系统会位于主机群的后端,它使用高速I/O 联结方式, 如 SCSI, ESCON 及 Fibre- Channels。一般而言,SAN应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中,特点是代价高,性能好。例如电信、银行的大数据量关键应用。它采用SCSI 块I/O的命令集,通过在磁盘或FC(Fiber Channel)级的数据访问提供高性能的随机I/O和数据吞吐率,它具有高带宽、低延迟的优势,在高性能计算中占有一席之地,但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。NAS:
NAS(Network Attached Storage):是一套网络储存设备,通常是直接连在网络上并提供资料存取服务,一套 NAS 储存设备就如同一个提供数据文件服务的系统,特点是性价比高。例如教育、政府、企业等数据存储应用。它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。块存储
、文件存储
、对象存储
块存储:
是块设备,一切磁盘形式存在的存储都是块设备,即块存储。块存储强调裸磁盘。
块存储使用时文件系统在客户端。
文件存储
:文件存储的存储端多了一层文件系统,
通过文件系统的调度后再对外提供存储资源。文件存储易于共享。
对象存储
:是一种全新的存储架构,综合了块存储和文件存储的优点
。文件存储是以传统的目录架构存储的
,而对象存储是二层结构的文件系统。
一般来说SAN和DAS形式存储的都是用块存储。
而文件存储和对象存储一般都是NAS形式。
DAS、NAS、SAN三种技术的比较和分析:
目前对象存储系统已成为Linux集群系统高性能存储系统的研究热点
,如Panasas公司的Object Base Storage Cluster System系统和Cluster File Systems公司的Lustre等。对象存储服务OSS:
部分资源在本地
),还是B/S架构(全部资源在服务器
)的应用,都要面临一个文件存储的问题。直接存储到应用服务器的本地中
:处理后直接存入到数据库中:
OBS对象存储,让海量小文件存储变得轻而易举。存储速度上很有保障,同时对于数据的备份和安全,云产品都有比较完美的考虑。价格也是白菜价,可谓物美价廉。现在已经成为团队内部的备选组件。
小图片的存储。APP开发过程中,小图片的上传和展示频率很高。
编辑器(例如UEditor)中的图片存储,此处需要单独书写点代码,完成存储工作。
OSS使用中的基本概念:
Bucket(存储空间):
Bucket有一些属性用来控制Region、0bject的访问控制、Object的生命周期等,这些属性是作用在该Bucket下所有的Object上的,因此用户可以灵活创建不同的Bucket来完成不同的管理功能。
Object(对象,文件):
Region (区域):
Endpoint(访问域名):
AccessKey(访问密钥):
通过API/SDK上传文件:
PutObject
、PostObject
和MultipartUpload
三个接口完成上传操作。PutObject:是可用于服务器端上传不易太大的文件;
Post0bject适合于通过html表单直接上传文件到bucket,不经过用户的应用服务器:
MultipartUpload支持断点上传,适合于网络质量较差或者文件大小较大的情况下的上传。
public class OSSObjectSample{
//访问id
private static final String ACCESS_ID ="your access key id";
//访问密钥
private static final String ACCESS_KEY ="your access key secret";
//访问地址
private static final String Endpoint="http://oss-cn-guangzhou.aliyuncs.com";
public static void main(String[] args) throws Exception{
//桶地址
String bucketName = "bucketName";
//桶上的对象地址
String key = "aliyuntest/photo1.jpg";
//本地文件地址
String fileName= "d:/temp/photo1.jpg";
//OSS客户端
OSSClient client = new OSSClient(ACCESS_ID,ACCESS_KEY,Endpoint);
//文件形式
File file = new File(fileName);
//对象元数据
ObjecMetadata objectMeta = new ObjecMetadata ();
objectMeta.setContentLength(file.length());
objectMeta.setContentType("image.jpeg");
//流形式
InputStream input = new FileInputStream(file);
//方式一:流形式
client.putObject(bucketName,key,input,objectMeta);
//方式二:文件形式
client.putObject(bucketName,key,new File(fileName));
}
通过API/SDK拷贝文件:
CopyObject
(超过该大小会返回400和错误提示:EntityToolarge)。UploadPartCopy
。通过OSSCMD可方便实现。
对象存储结构组成部分:
对象
对象存储设备:
对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:元数据服务器(Metadata Server,MDS):
MDS控制Client与OSD对象的交互,主要提供以下几个功能:对象存储系统的客户端Client:
为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client,通常提供POSIX文件系统接口,允许应用程序像执行标准的文件系统操作一样。IaaS、SaaS 和 PaaS简介:
IaaS(Infrastructure as a service – 基础设施即服务):
我们常见的IaaS服务有虚拟机、虚拟网络、以及存储。
PaaS(Platform as a service – 平台即服务):
常见的PaaS服务有数据库服务、web应用以及容器服务。
SaaS(Software as a Service – 软件即服务):
类似的服务有:各类的网盘(Dropbox、百度网盘等),JIRA,GitLab等服务。
而这些应用的提供者不仅仅是云服务提供商,还有众多的第三方提供商(ISV:简单来说:、
如果你采用IaaS服务,那么意味着你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件。
而如果你采用PaaS的服务,那么意味着你既不需要买服务器,也不需要自己装服务器软件,只需要自己开发网站程序。
如果你再进一步,购买某些在线论坛或者在线网店的服务,这意味着你也不用自己开发网站程序,只需要使用它们开发好的程序,而且他们会负责程序的升级、维护、增加服务器等,而你只需要专心运营即可,此即为SaaS。
什么是 IAM、EIAM 和 CIAM和IDaaS :
IDaaS 详解:
中台简介:
中台作为一种产品设计思路,或者系统架构思路,并不受限于公司的规模,理论上讲,任何一家即将或者正在面临业务高速增长的状态时,都很值得利用和借鉴中台的思路,将目前业务当中大量可复用的功能和场景进行梳理,为业务的高速增长做好准备。
服务器简介:
域名简介:
域名购买只能够选择一定的年限,没有永久拥有的情况。目前域名注册时间最少一年,最长10年,用户可以在域名到期前及时续费,确保自己对该域名的拥有权和使用权。
而注册一个域名多少钱,具体要看域名名称和域名后缀。名称好的热门后缀,现在很难注册到,从别人手里购买的话,价格都非常高。按照域名级别分类:
国家顶级域名
(national top-level domainnames,简称nTLDs),目前200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是cn,美国是us,日本是jp
等;国际顶级域名
(international top-level domain names,简称iTDs),例如表示工商企业的 .Com,表示网络提供商的.net,表示非盈利组织的.org
等。目前大多数域名争议都发生在com的顶级域名下,因为多数公司上网的目的都是为了赢利。为加强域名管理,解决域名资源的紧张,Internet协会、Internet分址机构及世界知识产权组织(WIPO)等国际组织经过广泛协商, 在原来三个国际通用顶级域名:(com)的基础上,增设了新通用顶级域名(New GTLD)。二级域名是指顶级域名之下的域名
,在国际顶级域名下,它是指域名注册人的网上名称,例如 ibm,yahoo,microsoft等
;在国家顶级域名下,它是表示注册企业类别的符号,例如com,edu,gov,net等
。三级域名用字母( A~Z,a~z,大小写等)、数字(0~9)和连接符(-)组成
,各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。如无特殊原因,建议采用申请人的英文名(或者缩写)或者汉语拼音名(或者缩写)作为三级域名,以保持域名的清晰性和简洁性。一般来说网站域名由二到三个域名组成。
按域名语种不同划分:
一类是英文域名
,由26个英文字母、数字和中划线(-)构成;另一种即为国际化域名
,即IDN (InternationalizedDomain Names)也称多语种域名,是指非英语国家为推广本国语言的域名系统的一个总称。含有中文的域名为中文域名,比如中文顶级域名有.中国、.商店、.广东、.世界等,含有日文的为日文域名,如日文域名コム.com,含有阿拉伯文的为阿拉伯域名,含有韩文的为韩文域名等等。顶级域名、二级域名、三级域名等均可以为IDN。按域名管理机构分类:
国际顶级域名
”(简称“国际域名”),另一类为“国内顶级域名
”(简称“国内域名”)。国际域名
由非营利性国际组织ICANN(The Internet Corporation for Assigned Names and Numbers)运营管理—以.com、.net、.org、.cc 、.tv等根域为后缀的域名。国家域名
—在的后面再加上国家代码(如中国为.CN,日本为.JP,英国为.UK)后缀的域名。按域名后缀的不同分类:
按照域名组成分类:
端口简介:
http的默认端口是80端口,是网页服务器的访问端口,用于网页浏览;而80端口是为HTTP开放的,HTTP是上网冲浪使用最多的协议,是主要用于在WWW服务上传输信息的协议。
Tomcat服务器默认是8080端口。
HTTPS的443端口在访问时不需要加端口号,相当于http的80。
如果设置为8443端口在访问时需要加端口号。
公认端口(Well Known Ports):
从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。注册端口(Registered Ports):
从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。动态和/或私有端口(Dynamic and/or Private Ports):
从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。1.HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098
2.SOCKS代理协议服务器常用端口号:1080
3.FTP(文件传输)协议代理服务器常用端口号:21
4.Telnet(远程登录)协议代理服务器常用端口号:23
HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)
HTTPS(securely transferring web pages)服务器,默认端口号为443/tcp 443/udp
Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口)
FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口)
TFTP(Trivial File Transfer Protocol),默认端口号为69/udp
SSH(安全登录)、SCP(文件传输)、端口号重定向,默认的端口号为22/tcp
SMTP Simple Mail Transfer Protocol(E-mail),默认端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)
POP3 Post Office Protocol(E-mail),默认端口号为110/tcp
Webshpere应用程序,默认端口号为9080
webshpere管理工具,默认端口号9090
JBOSS,默认端口号为8080
TOMCAT,默认端口号为8080
WIN2003远程登录,默认端口号为3389
Symantec AV/Filter for MSE,默认端口号为 8081
Oracle 数据库,默认的端口号为1521
ORACLE EMCTL,默认的端口号为1158
Oracle XDB(XML 数据库),默认的端口号为8080
Oracle XDB FTP服务,默认的端口号为2100
MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp
MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp
备案:
所谓的备案号就是网站底部的一个“粤ICP备12345678号”这样一个文字,大型网站的底部都有。
实际经营中,备案号一般没什么作用,就是挂到网站的底部展示,你的网站已经备案过了,至少获得了工信部的认可。
完全可以,不备案没有任何影响,不备案,浏览器输入域名可以立即访问您的网站,节约时间。
但是你的网站服务器机房不在大陆,就可以不用备案
,一般来说不备案的服务器机房可以放到香港、台湾、美国、日本、韩国等地方,这样来说,就可以不用考虑备案的问题了,但是如果在美国或者日本等较远的地方,理论上来说,访问速度会有一定的延迟,也就是通俗的说:访问速度会慢,但是这个慢,只是毫秒级别上面的,一般正常人使用感受不到这个速度的,但是基于综合考虑:比较推荐选择港台服务器机房,毕竟物理距离较近。服务器、域名、备案总结:
是否需要备案取决于服务器位置
域名需要备案,服务器无需备案!服务器没有备案一说,不绑定域名的服务器国内一般只需要实名认证即可拥有和使用!域名是必须要备案的!否则是无法使用国内服务器的哦!
一般的空间服务商都会提供空间的管理控制面板,其中有一项功能,就是绑定域名,绑定好域名后,再将域名的解析指向服务器的固定IP地址。
计算机学科中的引擎:
第三方开源或商业引擎:润乾,思迈特等等。
自家公司开发引擎。(Java开发)
什么是表单引擎?
什么是数飞表单引擎?
什么是报表引擎?
什么是流程引擎?
技术组成 | Activiti | jBPM5 |
---|---|---|
数据库持久层ORM | MyBatis3 | Hibernate3 |
持久化标准 | 无 | JPA规范 |
事务管理 | MyBatis机制/Spring事务控制 | Bitronix,基于JTA事务管理 |
数据库连接方式 | Jdbc/DataSource | Jdbc/DataSource |
支持数据库 | Oracle、SQL Server、MySQL等多数数据库 | Oracle、SQL Server、MySQL等多数数据库 |
设计模式 | Command模式、观察者模式等 | |
内部服务通讯 | Service间通过API调用 | O基于Apache Mina异步通讯 |
集成接口 | SOAP、Mule、RESTful | 消息通讯 |
支持的流程格式 | BPMN2、xPDL、jPDL等 | 目前仅只支持BPMN2 xml |
引擎核心 | PVM(流程虚拟机) | Drools |
技术前身 | jBPM3、jBPM4 | Drools Flow |
所属公司 | Alfresco | jBoss.org |
工作流其实就是工作的流转,工作流引擎是用来开发工作流转的框架
,基本来说,就是定义了一个任务分为几个步骤,每个步骤都有输入、前置步骤和后续步骤,步骤之间是根据一定的条件进行跳转,这种工作定义一般是写在XML文件中的,这方面有一个规范,BPM2.0,可以图形化编辑流程。我接触过的是Java的工作流引擎,Activiti,其他的没接触过。规则引擎:
但是引入规则引擎太重太复杂。
引擎总结:
什么是低代码?
低代码的应用场景:
低代码实现逻辑:
持久化到MongoDB
简介:
我们都知道,程序员编写一个Java程序,默认的情况下可以访问该机器的任意资源,比如读取,删除一些文件或者网络操作等。当你把程序部署到正式的服务器上,系统管理员要为服务器的安全承担责任,那么他可能不敢确定你的程序会不会访问不该访问的资源,为了消除潜在的安全隐患,他可能有两种办法:
①让你的程序在一个限定权限的帐号下运行。
②利用Java的沙箱机制来限定你的程序不能为非作歹。以下用于介绍该机制。
什么是沙箱?
①Java安全模型的核心就是Java沙箱(sandbox),什么是沙箱?沙箱是一个限制程序运行的环境。沙箱机制就是将 Java 代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。沙箱主要限制系统资源访问,那系统资源包括什么?——CPU、内存、文件系统、网络。不同级别的沙箱对这些资源访问的限制也可以不一样。
②所有的Java程序运行都可以指定沙箱,可以定制安全策略。
沙箱的安全检查点非常多,下面列举一些常见的场景:
①文件操作
②套接字操作
③线程和线程组
④类加载器控制
⑤反射控制
⑥线程堆栈信息获取
⑦网络代理控制
⑧Cookie 读写控制
链接:java中的安全模型(沙箱机制)
支付宝沙箱环境:
私有化部署的好处:
私有化部署与公有化部署的区别是什么呢?
License详解:
复制软件:
复制软件到自己的服务器,客户端的服务器,你自己的电脑,几乎任何你想要的地方,而且没有数量限制。发布软件:
发布你想要的软件,例如,在你的网站提供下载链接,刻成光盘,打印出来等等。收取费用:
如果你想在向别人提供软件时收费,如设置在别人的网站上或者其他用途时。GPL允许你这么做,但是你必须给客户提供一个GPL副本,告诉 他们可以在其他地方得到免费版本。当然最好在此之前,告诉客户,你为什么收费。可以任意修改:
如果你想添加或删除功能,没问题。如果想在其他项目中使用部分代码,也是可以的,但是唯一的限制是此项目也必须按GPL发布。LICENSE服务器(许可证服务器):
概念:
关系: