前端到node后台的十万个啥东西,综合指南针!

哈喽!大家好 又来到了··· 跑错片场了,啊哈 大家好 我就是你们喜欢了加讨厌日久就生情的布莱恩·奥复托杰森张;

话说:“基础打多深 楼就能建多高”; 一阵春风吹的哦是精神百倍,忽然一想天天吹牛b node怎么好,咱们搞搞他得墙角吧!搞搞再补上才说明技术水准嘛; nodejs劣势and解决方案(solution);记得上学时候我在这个词上边写着 “色lu神” 现在一想好生怪异惊讶

1,node 天生的异步操作优势弊端,内存要求,毕竟它喊一嗓子大家一起干活空间不能太小哇,解决方法很粗暴 扩容 加钱买硬件嘛!庆幸这个资本还是很便宜滴,而且随着硬件发展会越来越便宜。

2,默认不支持多核,我们伟大的开发者们已经搞定了解决方案 cluster 可以解决;

3,默认不支持服务器集群,现在用node-http-proxy 可以解决;

(node-http-proxy是一个用于Node.js的HTTP可编程代理库,支持 websockets。它是适用于实现例如代理服务器和负载均衡这样的组件)

4,负载均衡方面 静态由nginx处理 , 动态由nodejs处理;

5,灾难恢复 比较成熟的forever(永远;不断地 听着就专业)或者node-cluster;


框架方面呢

比较热门: express,koa,hapi,以及express基础之上的sails;

express:相比之下 完善,稳定,文档全,社区大,

koa:超前, 潮流, 666

hapi:复杂,大型程序 比较牛叉 so 不适合初学者;


来咱们先搞搞十万个啥东西 come on,cope some knowleage(no雷之 - 知识) 这个注解我自己都深深折服了!

1、什么是集群

集群(cluster)就是一组计算机,他们作为整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意的增加和删除集群系统的节点。

2、集群的优点

<1>高扩展性

<2>高可用性HA:集群中的一个节点失效,它的任务可传递给其他节点。可以防止单点失效

<3>高性能:负载平衡集群允许系统同时接入更多的用户

<4>高性能价比:可以采用廉价的复合工业标准的硬件来构造高性能的系统。

3、集群系统的分类

虽然,根据集群系统的不同特征可以有多种分类方法,但是一般把集群系统分为两类:

<1>高可用性(High Availability)集群,简称HA集群。

这类集群致力于提供高度可靠的服务。就是利用集群系统的容错性对外提供7*24小时不间断的服务,如高可用的文件服务器、数据库服务等关键应用。

负载均衡集群:使任务可以在集群中尽可能平均的分摊不同计算机处理,充分利用集群的处理能力,提高对任务的处理效率。在实际应用中这几种集群类型可能混合使用,以提供更高稳定的服务,如在一个使用网络流量负载均衡的集群中,就会包含高可用的网络文件系统、高可用的网络服务。

<3>性能计算(High Perfervidmance  Computing)集群,简称HPC集群,也称为计算集群。

在这种集群运行的是专门开发的并行应用程序,它可以把一个问题的数据分不到多台计算机上,利用这些计算机的共同资源来完成任务,从而可以解决单机不能胜任的工作(如果问题规模太大,单机计算速度太慢)。

这类集群致力于提供了单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油藏模拟、分子模拟、生物计算等。

4、什么是高可用性(HA)

计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常采用平均无故障时间(MTTF)来度量系统的可靠性,用平均时间(MTTR)来度量系统的可维护性。于是可用性定义为:MTTF/(MTTF+MTTR)*100%

5、负载均衡服务器的高可用性

为了屏蔽负载均衡服务器失效,需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,他就释放IP地址,这样的主管理器就开开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步和备份,保持两者系统的基本一致。

6、HA的容错备援运作过程

自动侦测(Auto-Detect)阶段 由主机上的软件通过冗余侦测线,经由复杂的侦听程序。逻辑判断,互相侦测对方运行情况,所检查的项目有:主机硬件(CPU和周边)、主机网络、主机操作系统、数据引擎以及其他应用程序、主机与磁盘阵列连线。为确保侦测的正确性,而防止错我的判断,可设定安全侦测时间、包括侦测时间间隔、侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供维护参考。

自动切换(Auto-Switch)阶段 某一主机如果确认对方故障,则正常主机继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序以及服务。

自动恢复(Auto-Recovery)阶段  在正常主机代替故障机工作后,故障机可离线进行修复工作。在故障主机修复后,通过冗余通讯线与原来主机连线,自动切换回修复完成的主机上。整个回复过程完成有EDI-HA自动完成,亦可依靠预先配置,选择回复动作为半自动或不回复。

7、HA三种工作方式

<1>主从方式(非对称方式)

工作原理:主机工作,备机处于监控状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。

<2>双机双工方式(互备互援)

工作原理:两台主机同时运行各自的服务工作且互相检测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。

<3>集群工作方式(多服务器互备方式)

工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。


睡觉洒家又睡着了,这都是什么鬼,我还是用通风所以懂得语言描述一下,啥子东西是集群 就是买了一堆服务器 这就是一个集群,想了一想买一堆那得多少钱啊··· 厂家有解决办法 阿里说我有钱 我买租给你们,老百姓解释 一群服务器就是他们说的那个 那啥; 高可用是啥? 分开 读嘛 性能高啊 可用呢 天天都能用 我靠 太残忍了; 天天让人家干活指定累啊 有的机器就热了 不干活了 so 就出现三种 工作方式,1 主从 就是一个机器干活 后面有一个后备队员; 主演病了替身上主演好了替身下来 就ok;第二种  两个人一人负责一部分 主演表演替身演挨打部分,主演病了 替身就全演 病好了 俩人一起工作 所为你中有我 我中有你 日久生情 呃呃··· 第三种情况就是多人演一个角色 剧本大家都知道 两个都病了 我还有替身 哎!大白话讲的 呕吐。。。 那些高大上的东西到我这里一讲完全成粪土啊··· 计算机届的祸害··


说着说着教程也就到了 node安装 没啥讲的 要是装不上;那就不用学了 尤其windows上 跟安qq一个样;还不会就上这个网址瞅瞅 http://www.runoob.com/nodejs/nodejs-install-setup.html; 


说一个小技巧,反正我之前不知道打开node 各种cd 复制地址;或者直接放d盘里面;想在想一想 确实 是个好办法。。。



按住Shift按右键 就有这个选项; 之前俺是各种cd 太愚蠢了;


node 里面有一个很实用的工具 执行node就不用 node ** node ** node ** 写程序改一点东西就执行 太麻烦了;supervisor 这个东西 你更改什么他都帮你刷新重启node; 缺点就是 你写程序报错了 他就一直报错 必须关闭或者马上改对了;


这么下载? 你装完node就有npm 版本不够新旧升级 一行命令; 分享几个常用的吧  省的来回找 麻烦、

npm -v #显示版本,检查npm 是否正确安装

npm install express   #安装express模块 
npm install -g express  #全局安装express模块 
npm list         #列出已安装模块 
npm show express     #显示模块详情 
npm update        #升级当前目录下的项目的所有模块 
npm update express    #升级当前目录下的项目的指定模块 
npm update -g express  #升级全局安装的express模块 
npm uninstall express  #删除指定的模块

一个简单的服务器;
var http = require('http');

http.createServer(function (request, response) {

	// 发送 HTTP 头部 
	// HTTP 状态值: 200 : OK
	// 内容类型: text/plain
	response.writeHead(200, {'Content-Type': 'text/plain'});

	// 发送响应数据 "Hello World"
	response.end('Hello World\n');
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

很简单;服务运行在本季8888端口  就是localhost:8888 ;

  • 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
  • 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。
建议大家能用常用 es6特性 用着用着就熟悉了 不用永远看着那么难; let 和 const 命令 可以读一读 还是有好多应该注意的内容。


访问有个地址, 后台给你数据,一个简单小模拟就结束了;后期有了框架支持 就好比 js有了jq一毛一样;写起来更简单;我也将抛弃之前的实验 ,一步一步再来一遍!


feet on the ground; 脚踏实地;脚踏在坚实的土地上。比喻做事踏实,认真。学习做事 不浮夸;不沾沾自喜;浮躁只是不成熟的表现!











  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值