
网络基础
zbuger
这个作者很懒,什么都没留下…
展开
-
分布式文件系统下的本地缓存
在分布式文件系统中,为了提高系统的性能,常常会引入不同类型的缓存存储系统(算法优化所带来的的效果可能远远不如缓存带来的优化效果)。在软件中缓存存储系统一般可分为了两类:一、分布式缓存,例如:Memcached、Redis、淘宝的Tair等,二、本地缓存,例如:Facebook的flushcache等,其中本地缓存又可以分为两种:本地磁盘缓存(现在一般都采用读写性能比较优异的SSD来做存储)和本地内转载 2017-04-26 23:32:47 · 1097 阅读 · 0 评论 -
wireshark抓包分析
wireshark介绍wireshark的官方下载网站: http://www.wireshark.org/wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。 使用wireshark的人必须了解网络协议,否则就看不转载 2016-06-19 20:04:51 · 817 阅读 · 0 评论 -
tomcat安装ssl证书[推荐]
一、 生成证书请求 1. 安装JDK 安装Tomcat需要JDK支持。JDK1.6默认只支持 SSLv3 和 TLSv1 两个版本的https协议,JDK 1.7 版本默认禁用SSLv3,并支持 TLSv1、TLSv1.1及TLSv1.2。Tomcat 6及以下版本在使用 JDK 1.6及以下版本的运行环境时,可能存在无法禁用 SSLv3的情况。此时建议您升级 Tom转载 2016-06-16 20:34:23 · 603 阅读 · 0 评论 -
Apache搭建代理服务器
版权声明 :可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2004/12/04/create-proxy-with-apache/ 以及本声明。 众所周知Apache是目前最优秀的HTTP服务器。实际上它不仅能当作服务器使用,也能够被用来架设代理服务器。本文就如何使用Apache架设HTTP代理服务器进行说明。本文将基转载 2016-06-12 18:01:09 · 10576 阅读 · 0 评论 -
用keytool创建Keystore和Trustsotre文件
JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输。keytool是一个工具可以用来创建包含公钥和密钥的的keystore文件,并且利用keystore文件来创建只包含公钥的truststore文件。在本文中,我们学习如何通过下面的5步简单的创建truststore和keystore文件: 生成一个含有一个私钥的keystore文件转载 2016-06-16 17:33:38 · 2625 阅读 · 0 评论 -
java实现ssl单/双向认证通信[推荐]
有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多。但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能深入地理解Java环境下,SSL的通信是如何实现的。对SSL中的各种概念的认识也可能会仅限于可以使用的程度。本文通过构造一个简单的SSL Server和SSL Client来讲解Java环境下SS原创 2016-06-17 00:30:48 · 15834 阅读 · 4 评论 -
JAVA利用HttpClient进行POST请求(HTTPS)
为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。1.写一个SSLClient类,继承至HttpClient[java] view plain copy import java.security.cert.CertificateException; import java.security.c转载 2016-06-18 20:30:40 · 3479 阅读 · 0 评论 -
注意设置httpclient连接数
在使用Httpclient的过程中,当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpclient设置时,最大连接数采用了默认设置的原因,而默认的最 大连接数只有2个,所以当有大量连接需要建立时,大多数连接只有等待。后面将连接数设置修改成32个之后,这个响应时间就基本上很少出现很大的时候。转载 2016-06-18 20:51:15 · 9075 阅读 · 0 评论 -
HttpClient使用详解(ssl)
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会转载 2016-06-18 22:24:44 · 7138 阅读 · 0 评论 -
简析TCP的三次握手与四次分手
TCP是什么?具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型:我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data转载 2016-06-19 20:41:17 · 878 阅读 · 0 评论 -
四层和七层负载均衡的区别
(一) 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求转载 2016-08-03 14:13:27 · 943 阅读 · 0 评论 -
四层负载均衡——LVS
LVS 参考:http://zh.linuxvirtualserver.org/几个术语:Director:也可以称为调度器,LVS前端设备;realserver:也称为真实内部服务器,是真正在提供服务的;VIP:对外公布的IP,即客户请求进来的IP地址;DIP:调度器和realserver之间通信的地址;LVS的三种工作方式转载 2016-08-03 15:09:05 · 1499 阅读 · 0 评论 -
一致性模型
强一致性当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的,就是用户上一次写什么,下一次就保证能读到什么。但是这种实现对性能影响较大。弱一致性系统并不保证续进程或者线程的访问都会返回最新的更新过的值。系统在数据写入成功之后,不承诺立即可以读到最新写入的值,也不会具体的承诺多久之后可以读到。但会尽可能保证在某个时间级别(比如秒级别原创 2016-08-13 16:50:36 · 1436 阅读 · 0 评论 -
关于分布式事务、两阶段提交协议、三阶提交协议
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在《分布式系统的一致性探讨》一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提转载 2016-09-06 20:52:59 · 960 阅读 · 0 评论 -
分布式多副本一致性问题 [推荐]
1. 强一致性:所有的副本更新成功才返回。 如上图C表示Client,【P、S1、S2】构成一个同步组,P表示Primary node,S1,S2是两个secondary node,强同步模型的工作流程为C向P写数据,P向S1,S2转发,只有3个都写成功,才向C返回成功,否则写失败。这种模型对于append操作很容易实现,如果副本没有全部更新成功,向C转载 2016-08-13 16:58:26 · 2508 阅读 · 0 评论 -
关于同步异步非阻塞阻塞[推荐]
这里面有篇文章非常牛逼,说的很清楚(注意这句话System I/O can be blocking, or non-blocking synchronous, or non-blocking asynchronous)http://www.artima.com/articles/io_design_patternsP.html(看这一篇足够了)包括下面这篇http://ww转载 2016-08-12 14:35:15 · 411 阅读 · 0 评论 -
关于分布式系统的思考(一)
【摘要】本文谈及一些分布式系统的理论和思想,包括CAP、BASE、NWR等。并简单分析一些主流数据库分布式方案的利弊,以便我们在开发时更深入全面地进行思考、选择和设计。以下为正文:在讨论常见架构前,先简单了解下CAP理论:CAP是Consistency、Availablity和Partition-tolerance的缩写。分别指:一致性(Consistency):每次读操作转载 2016-08-30 14:02:09 · 577 阅读 · 0 评论 -
数据库的主从架构
这段时间,一直在总结电商系统的相关基础技术和架构,写了很多东西。但是还是发现一个很重要,很基础的方面没有讲到,那就是数据库读写分离的主从架构。可能发展到大型成熟的公司之后,主从架构已经落伍了,取而代之的是更加复杂的数据库集群。但是作为一个小型电商公司,数据库的主从架构应该是最基础的。任何大型的系统架构,都是不断演进的。主从架构便是数据库架构中,最基础的架构。所以研究完主从架构,也就能看懂更加复杂的转载 2016-08-28 16:53:30 · 6519 阅读 · 0 评论 -
关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
本文原文连接: http://blog.youkuaiyun.com/bluishglc/article/details/7612811 ,转载请注明出处!1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向转载 2016-08-02 21:02:31 · 919 阅读 · 0 评论 -
SSL卸载技术对于HTTPS应用的优化与思考
迅猛发展的互联网为我们提供了丰富的信息资源,在带来便利的同时也影响着人们工作和生活方式。而让我们无法忽视的是,在开放的互联网所带来的繁荣背后,同时也潜藏着安全方面的隐患。随着人们对网络的依赖愈渐加深,各种加密技术应运而生,用以保障网络信息的安全性。SSL(Secure Sockets Layer)协议,便是在互联网上广泛应用于交易安全性保障的一种主导技术。 SSL属于加密通讯协议,工作在转载 2016-07-31 15:30:52 · 10209 阅读 · 0 评论 -
java中Keytool的使用总结
在申请Android Map API Key的时候使用到了java中Keytool,下面转一篇介绍java中Keytool的文章:http://blog.youkuaiyun.com/tony1130/archive/2010/01/05/5134318.aspx-------------------------Keytool 是一个Java 数据证书的管理工具 ,Keytool 将密钥(ke转载 2016-06-16 23:52:14 · 587 阅读 · 0 评论 -
Tcp三次握手,四次挥手
举个打电话的例子: A : 你好我是A,你听得到我在说话吗 B : 听到了,我是B,你听到我在说话吗 A : 嗯,听到了 建立连接,开始聊天! 为什么TCP协议终止链接要四次?1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B。原创 2016-03-23 12:36:50 · 374 阅读 · 0 评论 -
TCP之RST发送场景
1.connect一个不存在的端口; 2.向一个已经关掉的连接send数据; 3.向一个已经崩溃的对端发送数据(连接之前已经被建立); 4.close(sockfd)时,直接丢弃接收缓冲区未读取的数据,并给对方发一个RST。这个是由SO_LINGER选项来控制的; 5.a重启,收到b的保活探针,a发rst,通知b。 T原创 2016-03-24 21:04:30 · 417 阅读 · 0 评论 -
session详解
Session保存在服务器端。为了获得更高的存取速度,服务器一般把Session放在内存里。每个用户都会有一个独立的Session。如果Session内容过于复杂,当大量客户访问服务器时可能会导致内存溢出。因此,Session里的信息应该尽量精简。Session在用户第一次访问服务器的时候自动创建。需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMA转载 2016-03-31 16:37:53 · 561 阅读 · 0 评论 -
Servlet生命周期与原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.X原创 2016-04-01 13:29:26 · 381 阅读 · 0 评论 -
nginx apache
nginx 相对 apache 的优点:轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊apache 相对nginx 的优点:rewrite ,比nginx 的rewrit原创 2016-03-20 22:17:38 · 397 阅读 · 0 评论 -
一致性哈希应用
tencent2012 笔试题附加题 问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器。已有的做法是根据ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去。但是如果一台服务器死掉了,那么n就变为了n-1,那么ServerIPIndex[QQNUM%n]与转载 2016-03-18 19:59:49 · 626 阅读 · 0 评论 -
Socket通信原理和实践
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?转载 2016-03-30 15:08:01 · 385 阅读 · 0 评论 -
一致性哈希算法
转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正转载 2016-03-14 15:06:34 · 385 阅读 · 0 评论 -
http协议学习
http://blog.youkuaiyun.com/witsmakemen/article/details/89949631. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engi转载 2016-03-23 12:48:29 · 293 阅读 · 0 评论 -
一次完整的HTTP请求所经历的7个步骤
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则转载 2016-03-29 09:22:02 · 954 阅读 · 0 评论 -
[简明] 申请证书
申请SSL证书主要需要经过以下3个步骤:1、制作CSR文件。CSR就是Certificate Signing Request证书请求文件。这个文件是由申请人制作,在制作的同时,系统会产生2个密钥,一个是公钥就是这个CSR文件,另外一个是私钥,存放在服务器上。要制作CSR文件,申请人可以参考WEB SERVER的文档,一般APACHE等,使用OPENSSL命令行来生成KEY+CS原创 2016-06-16 21:10:30 · 534 阅读 · 0 评论 -
从Java Keystore文件中提取私钥、证书
Keystore是一个密码保护的文件,存放私钥和证书。可以通过JDK自带的keytool工具生成。但是keytool工具,并没有提供方便的方法,从keystore文件中到处私钥和证书。所以可以通过JDK提供的Java.security.KeyStore 类来编码完成相关工作。参见:http://www.anandsekar.com/2006/01/19/export转载 2016-06-16 11:57:51 · 6519 阅读 · 0 评论 -
java导入cer证书
在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来, 在该网页上右键 >> 属性 >> 点击"证书" >> 再点击上面的"详细信息"切换栏 >> 再点击右下角那个"复制到文件"的按钮转载 2016-06-15 16:53:37 · 8869 阅读 · 0 评论 -
java ssl编程
实现技术:JSSE(Java Security Socket Extension)是Sun为了解决在Internet上的实现安全信息传输的解决方案。它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,可以在Client和Server之间通过TCP/IP协议安全地传输数据。为了实现消息认证。Server转载 2016-06-15 16:29:02 · 609 阅读 · 0 评论 -
流量牵引在抗DDOS中的应用
什么是流量牵引 下图中的Defender就是我们熟悉的抗DDoS设备,Probe是一个专门用来分析网络流量的预警设备。对于这些网络安全设备我们并不陌生,但对于这样的拓扑结构恐怕就不常见了。两个路由器之间是两条并行的线路,在以往部署抗DDoS攻击设备的时候通常是把它直接串联在网络中,正常流量和攻击流量都穿过抗DDoS设备。让我们先根据这个简单的拓扑来解释一下什么是流量牵引。原创 2016-06-13 10:05:16 · 4920 阅读 · 0 评论 -
正则表达式学习
正则表达式1.判断ip地址,有点小缺陷,不影响:(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})原创 2016-06-24 20:12:06 · 351 阅读 · 0 评论 -
HTTP原理
1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 在了解HTTP如何工作之前,我们先了解计算机转载 2016-04-19 13:20:21 · 650 阅读 · 0 评论