自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 从浏览器输入网址到服务器返回经历的过程

步骤1. 输入网址2. 缓存解析 浏览器获取了这个url,当然就去解析了,它先去浏览器缓存当中查看,如果有从缓存当中显示页面,然后没有那就进行步骤三3.域名解析 导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:浏览器缓存 –浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。 系统缓存– 如果在浏览器缓存里没有找到需要的记录,浏览器会做...

2021-05-06 16:22:55 888 2

原创 node.js和java的区别

1. java是编程语言;node.js是js在服务端的运行环境2. java的jvm使java可以在任何平台上运行;node.js在不同平台需要不同模块,以至于在不同平台上运行需要重新build3. java web服务器是多线程的,每个请求由一个单独的线程来处理,多线程允许在不排队的情况下同时执行多个任务,适合CPU密集型应用; node.js是单线程的,所有请求都在一个线程中处理,事件被放置在队列中,排队处理。node.js为CPU密集型应用提供了"工作线程"的解决方案4. ja..

2021-04-20 10:59:01 2407

转载 Netflix如何在上万台机器中管理微服务

任何一个普通的服务,放到 Netflix 的大规模集群(上万台机器)里运行,如果不做特别处理,会发生各种各样的问题,以实现一个电影推荐的服务为例,传统方案:在传统的方案里,你会使用固定 DNS 域名解析服务,将一组固定的 IP 放在负载均衡的列表里。服务注册和发现都是写在配置文件里,一旦服务挂掉了,依赖于这个服务的其他服务都会受到影响,传统的办法只能新起一台服务器,然后去改变其他机器的配置...

2019-01-31 16:31:30 498

转载 为什么Kafka那么快

网上有很多Kafka的测试文章,测试结果通常都是“吊打”其他MQ。感慨它的牛B之余我觉得必要仔细分析一下它如此快速的原因。这篇文章不同于其他介绍Kafka使用或者技术实现的文章,我会重点解释——为什么真快。(当然不是因为它用了Scala!!!!)生产者(写入数据)生产者(producer)是负责向Kafka提交数据的,我们先分析这一部分。Kafka会把收到的消息都写入到硬盘中,它绝对不会...

2018-11-02 18:20:34 224

原创 socket.io 与 ws对比

node.js的websocket库目前比较热门的是ws和socket.io。我们对比一下这两个库。一、笔者写这篇文章时,ws的周下载量是4百多万,最近一次更新是11天前,总共98个版本。socket.io周下载量接近2百万,最近一次更新是三个月前。总共110个版本从npm上看,使用ws的比socket.io多很多,活跃度差不多。二、ws客户端不支持浏览器,需要用户...

2018-08-02 15:35:39 10670

原创 Locust接口压力测试

简介:   Locust是一个可扩展的,分布式的,开源的,用Python编写的压力测试工具。Locust完全是事件驱动的,因此在单台机器上能够支持上万并发用户访问。与其它许多基于事件的应用相比,Locust并不使用回调,而是使用gevent,而gevent是基于协程的,可以用同步的方式来编写异步执行的代码。每个用户实际上运行在自己的greenlet中。特点:①用python编写测试...

2018-07-27 16:58:32 4415

原创 实时大数据分析Storm 集群安装配置

 Storm是一个免费并开源的分布式实时计算系统。用于实时大数据分析。本文只介绍storm集群安装和配置,storm原理请自行查阅资料。storm官网:http://storm.apache.org/。三机拓扑:A: 192.168.15.128, master B: 192.168.15.129, slaveC: 192.168.15.131, slave安装必要的依赖组件...

2018-07-19 20:45:21 257

原创 webSocket研究

WebSocket研究1.简介WebSocket protocol 是HTML5一种新的协议。它是实现了浏览器与服务器全双工通信(full-duplex)。HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。WebSocket的出现是基于Web应用的实时性需要而产生的。这种实时的Web应用大家应该不陌生,在生活中都应该用到过,比如新浪微博的评论、私信的通知,腾讯的W...

2018-06-04 21:14:45 469

原创 pm2研究

Pm2简介P(rocess) M(anager) 2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。 主要特性:1.内建负载均衡(使用Node cluster 集群模块)2.后台运行3.0秒停机重载,我理解大概意思是维护升级的时候不需要停机.4.具有Ubuntu和CentOS 的启动脚本5.停...

2018-06-04 21:12:55 556

原创 nginx负载均衡策略和配置

前言先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。负载均衡是高并发、大流量网站必须要实现的技术。环境采用两机负载均衡部署  测试域名  :a.com  A服务器IP: 10.1.108.31 (主服务器)  B服务器IP: 192.168....

2018-06-04 21:08:39 7263

原创 mongodb索引

引言索引在数据库中的地位是举足轻重的。之前的学习nginx时,测试过一千万数据量时,没有索引的情况下,一次请求平均耗时1000毫秒,建立索引后,请求耗时降到20~30毫秒。于是深切体会到索引带来的性能上的优势。但是,索引不是越多越好,索引的建立势必导致数据插入和修改时的性能消耗;而且索引是存入内存中的,索引太大也会消耗很多内存。 索引介绍索引可以让 MongoDB中的查询执行更加高效。如果没有索引...

2018-06-04 21:04:25 398

原创 Node-Monitor一款node.js性能分析工具

Node-Monitor轻量级的 Node.js 项目内核性能监控 + 分析工具I. 简介首先感谢Easy-Monitor项目,这个项目是在Easy-Monitor基础上,将其按实际需要分解成更适合部署的两个项目。 使项目更加轻量,并各自关注自身重点。后续会根据实际需要进行更多的改造和优化。Easy-Monitor github 地址:https://github.com/hyj1991/easy...

2018-06-04 16:02:53 7694

转载 微服务架构

基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发持续集成的流程。平台提供基础设施、中间件、数据服务、云服务器等资源,开发人员只需要开发业务代码并提交到平台代码库,做一些必要的配置,系统会自动构建、部署,实现应用的敏捷开发、快速迭代。在系统架构上,PaaS云平台主要分为微服务架构、Docker容器技术、DveOps三部分,这...

2018-06-04 15:46:32 1054

原创 redis主从故障自动切换IP漂移

随着web2.0时代的到来,对web服务QPS要求越来越高,天下武功唯快不破,将数据存储到内存无疑是IO最快的方式。内存容量和价格已经不能再限制我们的想象力,因此使用redis代替传统数据库可以成为高QPS的一个选择。本文将介绍redis主从复制模式,故障自动切换和虚拟IP的漂移。redis主从复制可以提供数据冗余容灾,sentinel实现故障自动切换保证服务高可用,keepalived 可使客户...

2018-05-01 00:19:02 5222

原创 Prometheus监控node.js API

swagger-statsExporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式, 然后等待Prometheus定时来抓取。Prometheus提供了很多官方和第三方的exporter: https://prometheus.io/docs/instrumenting/exporters/。swagger-stats是官网...

2018-04-27 11:50:25 4831 1

原创 Prometheus+Grafana监控平台搭建

什么是Prometheus?Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。Prometheus的特点· 多维度数据模型。· 灵活的查询语言。· 不依赖分布式存储,单个服务器节点是自主的。· 通过基于HTTP的pull方式采集时序数据。· 可以通过中间网关进行时序列...

2018-04-26 12:18:42 12143

原创 node.js 异步处理async

Async 异步流程控制Async是node.js流程控制工具包,提供了直接而强大的异步功能。基于Javascript为Node.js设计,同时也可以直接在浏览器中使用。Async提供了大约20个函数,包括常用的 map, reduce, filter, forEach 等,异步流程控制模式包括,串行(series),并行(parallel),瀑布(waterfall)等。async主要实现了三个...

2018-04-17 12:50:30 521

原创 CPU过载内存溢出分析

CPU过载、内存溢出问题一般出现在线上项目中,因为开发环境用户量和数据量都很小,即使你的代码有问题也不会爆发出来。线上出现这样的问题是比较严重的,需要认真对待,妥善解决。问题原因造成这样问题有两个大类型的原因: 一,性能问题,高并发高访问情况下线程太多,内存不够用; 二,代码问题,如代码中有死循环、一次查询数据量太大、存在太多对象引用内存无法回收,数据库死锁等。如果项目一直稳定运行,升级版本后出现...

2018-04-05 17:34:20 5917

原创 node.js express框架使用ES8实现优雅的异步处理

     node.js是JavaScript运行在服务端的框架,采用单线程,异步事件回调方式,由于其在web服务上优异的性能,越来越多的成为开发web服务和中间件的选择,其最大社区npm发展也异常迅猛。但是因为异步回调导致的回调地狱,困扰着广大的程序员,其发展也受到阻碍。    为了解决这个问题,出现了各种各样的解决方案。ES5时代,只能使用第三方库:例如async库,promise。async...

2018-03-14 17:32:41 2416

原创 spark+mongo Scala开发环境搭建

Scala开发mongo-spark应用,环境搭建。

2017-09-20 18:56:47 2039

原创 spark+mongodb大数据框架搭建

spark+mongodb大数据框架搭建

2017-09-05 14:14:32 8318

原创 elasticsearch+mongodb 搜索框架

elasticsearch+mongodb搜索框架一、安装jdk    elasticsearch是Java语言开发的,需要jdk1.8以上版本.    在oracle官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 进入jdk所在目录,并解压到

2017-08-28 10:23:19 3368

转载 MongoDB + Spark: 完整的大数据解决方案

Spark介绍按照官方的定义,Spark 是一个通用,快速,适用于大规模数据的处理引擎。通用性:我们可以使用Spark SQL来执行常规分析, Spark Streaming 来流数据处理, 以及用Mlib来执行机器学习等。Java,python,scala及R语言的支持也是其通用性的表现之一。快速: 这个可能是Spark成功的最初原因之一,主要归功于其基于内存的运算方式。当需要处

2017-07-07 12:05:12 1448

原创 docker 搭建registry私服

1. 引言docker官方提供了Docker Hub网站来作为一个公开的集中仓库,用来管理镜像。然而,本地访问Docker Hub速度往往很慢。而且,Docker Hub只能有一个私有镜像,其他镜像都是公开的,可以被其他人下载使用,很多时候企业需要的是一个私有的仓库供内部使用。docker官方提供了开源的registry项目,用来搭建私有仓库。

2016-11-01 11:33:22 246

原创 keepalived + nginx实现高可用双机热备+负载均衡

一.     引言  nginx 优秀的负载均衡性能,可以满足企业大规模集群的需要。但是,如果nginx负载宕机时,整个服务就不可用。Keepalived是Linux下面实现VRRP备份路由的高可靠性运行件。基于Keepalived设计的服务模式能够真正做到主服务器和备份服务器故障时IP瞬间无缝交接。 二.     keepalived 双机热备方案拓扑如下图所示:

2016-10-28 13:34:57 530

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除