网络架构
文章平均质量分 92
zhongguoren666
本人迄今已有近七年的工作经验,一直从事软件开发,曾涉彩票、教育、铁路、农业、门户网站等多个行业,个人认为最精深的要数彩票行业了。本人开发过程中最擅长的要数C 和DELPHI,当然,在SOCKET、COM 、WebServic、数据库、多线程、线程同步、线程池、数据库连接池、串口通讯、UI设计、进程间通信等等技术也有较深入的学习。本人自认充满活力、拥有激情、爱好学习、充满自信。衷心希望能提供大家一些有用帮助与建议!
展开
-
socket与TCP/UDP编程
转自:http://www.cnblogs.com/chengmin/archive/2010/06/10/1755751.htmlSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操原创 2011-12-14 11:21:44 · 2040 阅读 · 1 评论 -
TCP/IP中的TTL
TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器原创 2012-03-21 13:44:11 · 12006 阅读 · 0 评论 -
DAS,NAS,SAN 企业存储模式优劣分析
对于企业来说,数据的安全性极为重要,一旦遭到破坏或丢失,就会造成难以弥补的损失,因此需要对重要数 据进行集中存储、维护以及共享。这就需要涉及到企业数据存储的模式选择。通常,企业级数据存储有三种方式:DAS(Direct-Attached Storage,直连式存储)、NAS(Network-Attached Storage,网络接入式存储)和SAN(Storage Area Network,存储区原创 2012-05-16 14:39:27 · 4191 阅读 · 0 评论 -
DAS, NAS, and SAN
企业随着公司的业务量成长,对于迅速增长的资料要如何储存以及分享的问题也就接踵而来,此时企业唯一的选择大概就是不断的采购及更新资料的储存设备,但应该采购那一种的储存设备,对于将来资料不断的增加这个问题会有较好的扩充性呢?便是企业今天需要思考的一个重要课题。DAS 早期的资料储存方式,大都是采用硬盘为主要的储存媒体,对于网络上的档案共享及资料的存取,皆需透过档案服务器 (File Ser原创 2012-05-16 14:58:23 · 1379 阅读 · 0 评论 -
Windows服务编写原理及探讨
有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。(一)服务的基础知识Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完备且强大的服原创 2012-05-18 16:31:39 · 3367 阅读 · 0 评论 -
netsh命令改IP和重置winsock(可解决能上QQ不能上网的问题)
netsh是WIN2K以上版本系统中自带的一个对网络设置的命令。下列指令有效: 此上下文中的命令: .. - 移到上一层上下文级。 ? - 显示命令列表。 aaaa - 更改到 `aaaa' 上下文。 abort - 丢弃在脱机模式下所做的更改。 add - 将一个配置项添加到项目列表中。 alias - 添加一个别名 bye - 退出程序。 com原创 2012-05-24 11:48:10 · 37250 阅读 · 2 评论 -
集群式游戏服务器架构方案设计开发
自从2003年开发VOIP Radius Server以及修改Gnugk以来,从事服务器开发已经近五年了,对服务器开发也有一些自己独到的看法以及见解。当摆脱了技术本身的束缚之后,才理解重要的并不是某种技术的运用,而是整体设计的考虑,也慢慢明白了设计是开发的灵魂的道理。从技术层面来看,各个平台都有一些自己特有的东西,比如Windows 平台下面的IOCP技术,可以说为了支持大的并发,IOCP原创 2012-08-05 22:38:56 · 1332 阅读 · 1 评论 -
服务器开发
作者:司强发布者:司强发布日期:2008/07/22 对于开发一款高性能服务器程序,广大服务器开发人员在一直为之奋斗和努力.其中一个影响服务器的重要瓶颈就是服务器的网络处理模块.如果一款服务器程序不能及时的处理用户的数据.则服务器的上层业务逻辑再高效也是徒劳.所以一个服务器程序的网络处理能力直接影响到整个服务器的性能, 本文主要介绍在windows平台下开发高性能的网络处理模原创 2012-08-05 22:42:12 · 1315 阅读 · 0 评论 -
winform 启用控制台
/**//// /// 启动控制台 /// /// [DllImport("kernel32.dll")] public static extern bool AllocConsole(); /**//// /// 释放控制台 ///原创 2012-08-05 22:42:58 · 944 阅读 · 0 评论 -
百万用户级游戏服务器架构设计(1)
服务器结构探讨 -- 最简单的结构 所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。 好的结构不是一蹴而就的,而且每个设计者心中的那把尺都不相同,所以这个优秀结构的定义也就没有定论。在这里,我们不打算对现有游戏结构做评价,而是试着从头开始搭建一个我原创 2012-07-22 16:05:15 · 2926 阅读 · 0 评论 -
百万用户级游戏服务器架构设计(2)
登录服的设计 -- 功能需求 正如我们在前面曾讨论过的,登录服要实现的功能相当简单,就是帐号验证。为了便于描述,我们暂不引入那些讨论过的优化手段,先以最简单的方式实现,另外也将基本以mangos的代码作为参考来进行描述。 想象一下帐号验证的实现方法,最容易的那就是把用户输入的明文用帐号和密码直接发给登录服,服务器根据帐号从数据库中取出密码,与用户输入的密码相比较。 这个方原创 2012-07-22 16:06:32 · 1867 阅读 · 0 评论 -
SO_REUSEADDR例解
网友vmstat多次提出了这个问题:SO_REUSEADDR有什么用处和怎么使用。而且很多网友在编写网络程序时也会遇到这个问题。所以特意写了这么一篇文章,希望能够解答一些人的疑难。 其实这个问题在Richard Stevens的《Unix网络编程指南》卷一里有很详细的解答(中文版P166-168页)。这里我只是写几个基本的例子来验证这个问题。 首先声明一个问原创 2012-11-06 15:42:49 · 9229 阅读 · 0 评论 -
windows下进程间通信的
转自:http://blog.csdn.net/shiqz/article/details/5862936摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,原创 2012-11-28 13:31:37 · 1942 阅读 · 0 评论 -
MQ简介
MQ的基本概念:1) 队列管理器队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。2) 消息在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息。消息有两部分组成:消息描述符(Message Discription或Messag原创 2012-12-06 23:19:31 · 7105 阅读 · 3 评论 -
IOCP模型与网络编程
载自:http://blog.csdn.net/neicole/article/details/7549497IOCP模型与网络编程一。前言: 在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,转载 2012-12-26 17:09:13 · 1446 阅读 · 2 评论 -
Socket TCP技术详解
TCP一、TCP数据包格式首部格式:http://en.wikipedia.org/wiki/Transmission_Control_Protocol建立和关闭连接时,SYN和FIN需要占一个序列号,其它的纯ACK不占序列号。TCP技术详解" style="margin-top:0px; margin-right:0px; margin-bottom:0px; m原创 2011-12-14 11:15:04 · 14542 阅读 · 1 评论 -
小议软件架构设计要点
转自:http://tech.it168.com/a2009/0417/272/000000272586.shtml 如何更好地进行软件架构设计,这是软件工程领域中一个永恒的重点话题。过去几十年来,国际软件工程界在软件架构设计方面已经获得了长足发展,大量图书、文章和文献记载了这方面的成熟经验与成果。软件架构设计往往是一件非常复杂的工作,涉及到很多细节和方方面面,可探讨的话题也非常之多原创 2011-11-22 17:41:33 · 1200 阅读 · 0 评论 -
目标导向和UCD以用户为中心的设计-精读
目标导向设计的三要素就是个人目标,人物角色和常用场景。目标是期望系统能够完成什么一件事情?为了完成这件事情你就需要考虑不同的人物角色在不同的场景下面的实际操作路线。你必须要不断强化为一个人设计的观念,为快乐而设计就是充分考虑角色和场景,从了解业务和用户需求开始,定义不同的角色和场景,根据不同的角色和场景分多功能和多产品设计,而不是做一个无差异化的大而全的产品。角色不是真实的人物,但是在设计原创 2011-11-22 17:44:58 · 2302 阅读 · 0 评论 -
正向代理和反向代理
1.什么是正向代理和正向代理服务器? 正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip原创 2011-09-01 13:27:03 · 3096 阅读 · 1 评论 -
Nginx用作反向代理服务器使用!
Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了。Igor 将源代原创 2011-09-01 13:31:22 · 7693 阅读 · 1 评论 -
Squid Cache(代理服务器)
Squid Cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到原创 2011-09-01 13:53:42 · 984 阅读 · 0 评论 -
反向代理服务器功能剖析
从传统意义上讲,Proxy Server即代理服务器是指位于用户计算机网络与互联网之间的服务器,其功能就是代理网络用户去取得网络信息,可以把它理解为网络信息的中转站。如果WEB浏览器配置为使用代理服务器的话,所有的请求都只会通过代理转发,代理服务器会按照用户的要求向站点发出访问请原创 2011-09-01 13:13:59 · 1051 阅读 · 0 评论 -
Nginx学习—反向代理
一、代理分类代理一般分为正向代理和反向代理。正向代理简单点说就是内部网络通过代理服务器访问外部网络,反向代理就是外部网络通过代理服务器反问内部网络。nginx就是这种反向代理服务器。二、nginx的反向代理方式1.proxy_pass方式 2.fast原创 2011-09-01 13:36:12 · 704 阅读 · 0 评论 -
反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。概述 通常的代理服务器,只用于代原创 2011-09-01 13:18:10 · 844 阅读 · 0 评论 -
打造高可用性的互联网技术平台
很多互联网公司早期初创,为了快速开发出应用产品,基本都是采用LAMP技术组合来搭建网站。由于开发人员也不是很多,所以采用在一个工程下开发,或者一个工程下的多模块开发。随着公司的业务和流量快速膨胀,人员规模也从数十人扩张到数百人,导致网站的开发,部署,运维带来很大的挑战:原创 2011-08-02 13:52:43 · 1664 阅读 · 1 评论 -
技术平台迁移
技术平台的迁移是技术决策者需要慎重考虑的决策之一。对于互联网企业而言,这种决策不仅仅关系到技术产品的长期发展和稳定性,平台的迁移甚至关系到企业本身的长治久安。所以,对于技术决策者来说,一定要问问自己,我们准备好了吗?技术平台迁移是必要的吗? 技术平台迁移一定是公司战略决策上面原创 2011-08-02 13:58:28 · 1149 阅读 · 0 评论 -
互联网技术平台迁移杂谈
互联网行业相对其他行业有个特点,就是快速变化以应对市场的需求,商业模式/盈利模式是第一位的。针对小型应用,PHP开发相对简单(或者公司的PHP工程师较多),很多互联网公司刚开始都是用LAMP来搭建技术平台。随着业务的快速发展,网站需要应对大并发量,大数据量,日常发布频繁,特别是电原创 2011-08-02 14:01:31 · 2680 阅读 · 0 评论 -
大型高并发高负载网站的系统架构
随着中国大型IT企业信息化速度的加快,大部分应用的数据量和访问量都急剧增加,大型企业网站正面临性能和高数据访问量的压力,而且对存储、安全以及信息检索等等方面都提出了更高的要求……本文中,我想通过几个国外大型IT企业及网站的成功案例,从Web技术人员角度探讨如何积极地应对国内大原创 2011-08-02 14:04:44 · 1601 阅读 · 0 评论 -
类似于QQ游戏百万人同时在线的服务器架构实现
QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率原创 2011-08-02 17:46:33 · 1331 阅读 · 0 评论 -
Nginx--HTTP反向代理服务器
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Ра原创 2011-08-08 17:17:19 · 1025 阅读 · 0 评论 -
软件质量属性包括哪些
软件质量属性划分为运行期质量属性和开发期质量属性两大类。开发期质量属性其实包含了和软件开发,维护和移植这三类活动相关的所有质量属性,这些是开发人员,开发管理人员和维护人员都非常关心 的,对最终用户而言,这些质量属性只是间接地促进用户需求的满足;而运行期 质量属性是软件系统在运行期原创 2011-08-18 09:34:12 · 19587 阅读 · 1 评论 -
架构设计的方法学
转自:http://blog.chinaunix.net/u/15169/showart_82408.html约公元前25年,古罗马建筑师维特鲁威说:“理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。”(好难哪,软件构架设计师的要求呢?大家好好想想吧。) 本文目录 一、与构架有关的几个基本概念;原创 2011-11-22 17:40:37 · 23970 阅读 · 0 评论 -
在敏捷开发中采用演进式架构设计
转自:http://www.phpchina.com/?action_zendinfoview_itemid_34567.html在敏捷开发中采用演进式架构设计 在敏捷开发过程中,我们还需要对系统架构进行设计吗?事实上,Martin Fowler在《Is Design Dead?》一文中已经给出了答案,那就是我们同样不能忽略对系统架构的设计。与计划性的设计(Planned原创 2011-11-22 17:42:09 · 1518 阅读 · 0 评论 -
struct、class和STL的统一内存管理
转自:http://blog.csdn.net/lifesider/article/details/6443375利用C++的new和delete操作符重载特性,可以对自定义的struct和class进行统一内存管理,再加上STL allocator的开放特性,便可以将STL容器对象的内存管理并入struct和class的内存管理,进而将这三者的内存管理统一。 首先实现自定转载 2012-12-22 09:44:48 · 951 阅读 · 0 评论