1.1.1.10 网络与通信
ajian005
这个作者很懒,什么都没留下…
展开
-
现代服务器底层奠基(SEDA+Reactor/Proactor+epoll/kqueue )
System|多路复用IO|Kqueue事件通知 https://zhuanlan.zhihu.com/p/157431765。System|网络|分阶段事件驱动架构SEDA https://zhuanlan.zhihu.com/p/161902784。System|网络|Naive SEDA实现 https://zhuanlan.zhihu.com/p/162753075。System|网络|packet的一生 https://zhuanlan.zhihu.com/p/157909533。原创 2023-04-13 14:18:58 · 647 阅读 · 1 评论 -
Nginx相关技术资料梳理
Nginx相关技术资料梳理nginx和openresty的使用 https://blog.csdn.net/sxl47/article/details/105210701。原创 2022-08-12 19:45:34 · 935 阅读 · 0 评论 -
网络抓包工具
抓包工具原创 2022-07-04 19:02:46 · 134 阅读 · 0 评论 -
C++各大有名库的介绍
C++各大有名库的介绍在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。转载 2012-07-15 11:06:10 · 5326 阅读 · 0 评论 -
TCP 的那些事儿(上篇)
原文:http://coolshell.cn/articles/11564.html转载 2014-09-12 14:53:39 · 1225 阅读 · 0 评论 -
Linux epoll浅析(收集整理版)
Linux epoll详解一、什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linuxkernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I原创 2014-07-02 11:17:15 · 1410 阅读 · 0 评论 -
Apache Thrift & Google Protocol Buffer & Apache avro比较(先留个位置,待补充内容)
参考:Apache Thrift : http://en.wikipedia.org/wiki/Apache_Thrift原创 2014-03-18 21:38:03 · 967 阅读 · 0 评论 -
I/O子系统:select,poll,epoll,kqueue, iocp(Windows)及各种I/O复用机制 模式Reactor Proactor
首先,介绍几种常见的I/O模型及其区别,如下:《Unix网络编程》blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)读数据的例子blo转载 2014-01-12 17:04:09 · 3759 阅读 · 1 评论 -
Sip相关介绍
参考:JAIN SIP API 简介 http://www.oracle.com/technetwork/cn/articles/oem/introduction-jain-sip-090386-zhs.htmlSIP Servlet 编程模型 http://www.oracle.com/technetwork/cn/testcontent/sip-programmi原创 2014-01-17 18:02:47 · 931 阅读 · 0 评论 -
Java_BIO/NIO/AIO
基于NIO的java高性能网络应用的技术研究 http://www.docin.com/p-65119553.html#(一) BIO传统的server/client实现是基于thread per request.(二) NIO最核心的一点就是反应器模式:当有感兴趣的事件发生时,就通知对应的事件处理器去处理事件,如果没有,则不处理。所以使用一个线程做轮询转载 2011-06-07 18:17:00 · 1350 阅读 · 0 评论 -
nginx架构(修改版)
英文:http://www.aosabook.org/en/nginx.htmlnginx(发音为“engine x”)是一个免费的开源Web服务器,由俄罗斯软件工程师Igor Sysoev编写。其在2004年向公众推出以来,nginx一直专注于高性能,高并发性和低内存占用。 Web服务器功能之上的附加功能,如负载均衡,缓存,访问和带宽控制的能力,以及有能力有效整合各种应用,这些都有助于使原创 2015-01-11 20:51:27 · 1536 阅读 · 0 评论 -
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式
http://blog.csdn.net/cutesource/article/details/6192016如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty、Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式,并基于这种模式写了个小小网络服务器,压力测试了一下,效果还不错。废话不多说,先看转载 2012-09-27 17:45:24 · 1038 阅读 · 0 评论 -
性能调优攻略
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈!转载 2014-01-13 17:30:31 · 1597 阅读 · 0 评论 -
HttpClient介绍
参考HttpClient: PoolingHttpClientConnectionManager HttpClient池:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html http://hc.apache.org/httpcomponents-client-ga/examples原创 2016-04-12 20:07:54 · 892 阅读 · 0 评论 -
C10K、C100K, C1000K=C1M,C10M( concurrent 10M connections)....千万级并发实现的秘密:内核不是解决方案,而是问题所在!
参考资料: The C10K problem: http://www.kegel.com/c10k.html C1M http://www.blogjava.net/yongboy/category/54842.html原创 2016-05-18 16:28:22 · 5770 阅读 · 0 评论 -
Https(SSL/TLS)原理详解
TAG: HTTPS SSL TLS SSL协议,是一种安全传输协议,最初是由 Netscape 在1996年发布,由于一些安全的原因SSL v1.0和SSL v2.0都没有公开,直到1996年的SSL v3.0。TLS是SSL v3.0的升级版,目前市面上所有的Https都是用的是TLS,而不是SSL。本文主要分析和讲解TLS。转载 2014-11-10 10:58:51 · 1616 阅读 · 0 评论 -
常用备查Linux、Android、数据库命令列表(不断更新)
Linux运维管理: netstat -ln | grep mysql; netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}';NetWork: tcpdump host ip地址 and port 端口号 -X -s 2000 -nn -i etho | eth1 |原创 2013-05-29 12:26:15 · 3613 阅读 · 0 评论 -
微服务实战系列--Nginx官网发布(转)
这是Nginx官网写的一个系列,共七篇文章,如下Introduction to Microservices (this article)Building Microservices: Using an API GatewayBuilding Microservices: Inter-Process Communication in a Microservices Architect转载 2017-12-23 23:16:04 · 956 阅读 · 0 评论 -
DBCP,C3P0,Tomcat_JDBC druidDatasource 性能及稳定性测试
DBCP,C3P0,Tomcat_JDBC druidDatasource性能及稳定性测试 1.测试环境: 硬件环境: 数据库服务器:2U*8核 8G内存 测试服务器: 2U*8核 6G内存 软件环境: jdk: 1.6.29 mysql: 5.0.77 mysql_driver: mysql-connector-java-5.0.转载 2014-01-23 10:51:37 · 2364 阅读 · 1 评论 -
JAVA系列之对象的序列化与反序列化
1 简介对象序列化(Serializable)是指将对象转换为字节序列的过程,而反序列化则是根据字节序列恢复对象的过程。序列化一般用于以下场景:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。对象所属的类必须实现Serializable或是Externalizable接口才能被序列化。对实现原创 2014-01-12 23:13:24 · 1128 阅读 · 0 评论 -
JAVA NIO2模式之Proactor( JDK7 AIO异步网络IO初探)
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO转载 2014-01-09 22:26:06 · 4413 阅读 · 0 评论 -
深入分析 Java I/O 的工作机制
Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详细介转载 2012-09-26 19:34:31 · 973 阅读 · 0 评论 -
SpringOne会前访谈:Josh Long谈Spring发展
Josh Long - 开发人员技术布道师 Josh Long 担任 Spring 开发人员技术布道师。Josh 是 Apress 出版社出版的《Spring Recipes》第 2 版的首席作者,也是 SpringSource 的提交者和贡献者。他在埋头编写代码之余,也会现身于当地的 Java 用户群或当地的咖啡店。Josh 喜欢能够转载 2012-11-15 15:00:09 · 2881 阅读 · 0 评论 -
使用异步 I/O 大大提高应用程序的性能:学习何时以及如何使用 POSIX AIO API
简介: Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文转载 2012-12-26 16:59:17 · 744 阅读 · 0 评论 -
实现可扩展消息传递和到场协议(XMPP)
即时消息传递(IM)在临时 Internet 用户和业务用户中都是一个受欢迎的应用程序。它不仅为用户提供了与他人进行实时通信的方法,还能够得到他们的到场信息(在线、离开、离线,等等)。Jabber 是最早的开放 IM 协议之一,由 Jeremie Miller 开发并于 1998 年作为一个非标准 IM 协议出现。由于 Jabber 是使用 XML 创建的可扩展协议,它很快就创建了其他可用作通用传转载 2012-12-26 17:10:49 · 1125 阅读 · 0 评论 -
Linux 网络栈剖析: 从 socket 到设备驱动程序
从 socket 到设备驱动程序M. Tim Jones, 顾问工程师, Emulex简介: Linux® 操作系统的最大特性之一就是它的网络栈。它最初源于 BSD 的网络栈,具有一套非常干净的接口,组织得非常好。其接口范围从协议无关层(例如通用 socket 层接口或设备层)到各种网络协议的具体层。本文将从分层角度对 Linux 网络栈的接口进行探索,并介绍其中的一些主要结构。转载 2012-12-18 19:41:06 · 2002 阅读 · 0 评论 -
Linux 网络栈剖析: 使用 SCTP 优化网络 流控制传输协议结合了 TCP 和 UDP 的优点
流控制传输协议结合了 TCP 和 UDP 的优点M. Tim Jones (mtj@mtjones.com), 资深首席软件工程师, Emulex简介: 流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以保护数据消息边界(例如 UD转载 2012-12-18 19:43:48 · 1907 阅读 · 0 评论 -
网络管理系统、网管、network manage system、运维系统
为什么需要网管?网管系统屏蔽不同厂家、不同机器在监控、维护、及管理上的差异,提供统一的工具,从而“集中监控、集中维护、集中管理”提供可靠、便利的手段,为了快速实现业务提供有效支撑。一般网管系统实现以下功能:系统管理(分组/网元管理)、配置管理、故障管理、性能管理、维护管理(工单、计费管理)、安全管理(AAA)。什么是网管?1 系统管理(分组/网元管理)1.1 拓扑管理(有可原创 2013-01-07 11:23:29 · 6877 阅读 · 1 评论 -
Comet:基于 HTTP 长连接的“服务器推”技术
“服务器推”技术的应用请访问 Ajax 技术资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。订阅 Ajax 相关文章和教程的 RSS 提要传统模式的 Web 系统以客户端发出请求、服务器端响应的方式工作。这种方转载 2013-01-22 12:23:12 · 731 阅读 · 0 评论 -
ACE初学者使用指南
注意:ACE网络框架比较有名,30万行左右代码,开发了10几年,数十人的核心开发团队加之数千人的测试队伍,可以说想不开发出好东西也难。 所以要说这个框架好,那好的原因实在太多,最主要的好在于两条:“跨平台(支持几十种平台),可复用”,所以今日说说我认为他不足的地方,以作为这段时间学习它的一个总结: 国内有三本和ACE框架有关的书,我都读了,整个加起来读了能有10几不到20天转载 2013-06-05 09:34:02 · 3634 阅读 · 0 评论 -
web服务器apache架构与原理
web服务器 在开始了解Apache前,我们先熟悉一下web服务器,因为apache也是web服务器的一种。 Web系统由客户端(浏览器)和服务器端两部分组成。Web系统架构也被称为B/S架构。最常见的Web服务器有Apac转载 2013-06-16 22:57:06 · 1740 阅读 · 0 评论 -
1ActiveMQ使用 2ActiveMQC#Client实现 3ActiveMQC++Client实现通讯 4 ActiveMQJavaClient实现
Active MQ使用Kagula2011-9-6介绍 Active MQ是个消息队列管理器,用于通讯的中间件。Java + Active MQ的常见使用方式有两种:[1]点对点方式(Producer/Consumer)[2]发布/订阅者方式(Publisher/Subscriber Model) 测试环境[1]JDK1.6.x [2]Eclipse Indigo [3原创 2013-07-03 09:47:31 · 2214 阅读 · 3 评论 -
TCP三次握手/四次挥手详解
TCP协议三次握手过程分析TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(rese转载 2013-11-11 10:22:19 · 1969 阅读 · 0 评论 -
TCP/IP,http,socket,长连接,短连接
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议 UDP包括DNS、TFTP等协议 短连接 连接->传输数据->关闭连接转载 2013-11-11 18:11:59 · 1244 阅读 · 0 评论 -
二进制协议处理
使用Netty实现通用二进制协议的高效数据传输Netty是一个高性能的NIO通信框架,提供异步的、事件驱动的网络编程模型。使用Netty可以方便用户开发各种常用协议的网络程序。例如:TCP、UDP、HTTP等等。Netty的最新版本是3.2.7,官网地址是:http://www.jboss.org/netty本文的主要目的是基于Netty实现一个通用二进制协议的高效数据传输转载 2013-12-13 12:50:45 · 2774 阅读 · 0 评论 -
Apache Tomcat Monitor - Lambda Probe - [Tomcat]
Lambda Probe是一个基于Web以实时的方式来管理单个Tomcat主机的工具。它除了具备标准Tomcat Manager大部份功能之外还提供一些能够帮助Web开发者和系统管理员更加清楚地了解Tomcat运行情况的功能。系统环境:操作系统:Centos 5.3 32bit应用系统:Tomcat 6.0安装路径: /usr/local/tomcat源码位转载 2014-01-02 17:48:10 · 3255 阅读 · 0 评论 -
dubbo分布式SOA框架
项目地址:http://code.alibabatech.com/wiki/display/dubbo/Home-zh自开源后,已有不少非阿里系公司在使用Dubbo,参见:已知用户那么,Dubbo是什么?Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的原创 2014-01-06 22:34:00 · 7268 阅读 · 0 评论 -
java NIO模式之Reactor
Java NIO非堵塞应用通常适用于在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取React转载 2014-01-12 21:12:53 · 1421 阅读 · 0 评论 -
跨平台的网络通信中间件:ICE和ACE
二十世纪九十年代中期以来,业界一直在使用DCOM和CORBA这样的面向对象的中间件平台。在分布式的应用中,中间件平台托管了大部分网络事务,比如对数据进行编码与解码以进行传送,把逻辑对象地址映射到物理传输端点,根据客户和服务器的机器架构改变数据的表示,以及按照需要自动启动服务器。DCOM和CORBA由于自身的缺点,都没有成功占领大部分分布式计算的市场。DCOM是Microsoft的独家解决方转载 2012-10-28 22:45:25 · 1205 阅读 · 0 评论