首页 » 软件开发

利用Memcache解决数据库高并发访问的瓶颈问题

       对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都来不及。阅读全文 »

2013年4月10日
作者:鸡啄米 分类:软件开发 浏览: 评论:10

几大互联网公司的数据库访问层架构概览

       在WEB开发中,数据库的数据读写和传输一向是瓶颈,在此基础上的解决方案基本都是数据库连接层的设计,一个公司数据库连接层的牛B与否可以标识这个公司的全局规划的“工艺水平”到达一个什么样了。下面的内容来自明查暗访,决无BS之意,旨在提供给需要统一规划整体架构的架构师一个帮助。  1、百度 关键词:dbproxy,服务器都是flash卡,DBA与开发者都不关心分裤分表(半自动)阅读全文 »

2013年4月9日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

Mysql大数据量存储及访问的设计讨论

       一、引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载...阅读全文 »

2013年4月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

网络负载平衡系统使用memcache同步session的方法

       前面讲了如何配置Windows Server 2003网络负载平衡系统,那么在web架构中配置好Server群集后,我们肯定会考虑session共享和同步的问题。试想下,同一个IP访问负载平衡系统中的同一个网页会被分配到不同的服务器上,而如果session不同步,那么对于同一个登录用户,就会出现一会是登录状态一会又不是登录状态的问题。阅读全文 »

2013年4月1日
作者:鸡啄米 分类:软件开发 浏览: 评论:6

Windows Server网络负载平衡系统为何只有部分主机能够正常通信及其他常见问题

       鸡啄米在配置Windows Server 2003网络负载平衡(NLB)系统时,遇到了若干小问题,现小总结下跟大家分享。 一、为什么网络负载平衡系统中只有部分主机能够正常通信? 首先,我在配置包含两台主机的NLB群集时,网络负载平衡的属性页中选择的模式是“多播”,并勾选了“IGMP多播”,但是用网络调试助手测试,在群集外的第三台主机上只能与群集中一台主机通信...阅读全文 »

2013年3月20日
作者:鸡啄米 分类:软件开发 浏览: 评论:6

VC++串口通信编程详解

       在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令阅读全文 »

2013年3月15日
作者:鸡啄米 分类:软件开发 浏览: 评论:11

Windows Server 2003网络负载平衡的设置步骤图解

       当把一台服务器(包括Web服务器、FTP服务器或者流媒体服务器等等)放入网络中之后,随着客户端数量的不断增加,人们往往需要功能更强大、处理速度更快的服务器。为了解决这个问题,如果将原有的服务器替换成功能更强大、处理速度更快的服务器显然并不是值得称道的办法。但是如果能把新服务器添加到原有服务器的处理能力基础上而不是替换它,这种方案毫无疑问更容易被用户接受。网络负载平衡(Network Load Ba阅读全文 »

2013年3月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

详解Ubuntu下Mysql的安装配置步骤

       本文跟大家分享Ubuntu下mysql的安装设置过程,以下是详细步骤。 一、Ubuntu下Mysql的安装 1、创建mysql安装目录 [root@localhost mysql-5.5.20]# mkdir -p /usr/local /mysql/ 2、创建数据存放目录 [root@localhost mysql-5.5.20]# mkdir -p /data/mysql/ 3、创建用户和用户阅读全文 »

2013年2月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:7

值得你研究的:有符号数和无符号数的强制类型转换

       在C/C++中有符号数转化为无符号数会出现一些问题,先看以下的程序例子:... 原本我以为计算结果为 result=0xFFF,但实际的计算结果是result=0xEFF。以下是程序的输出:... 原来ch[6]在char转成unsigned int时由0xff转为了0xffffffff。它的符号位(最高位)为1,在转换成无符号数时将其他位(第9位至第32位)全置为1。阅读全文 »

2013年2月22日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

DLL动态链接库编程入门之五:MFC扩展DLL

       MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic、CButton等类使之具备更强大的能力。阅读全文 »

2013年2月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

DLL动态链接库编程入门之四:MFC规则DLL(下)

       我们照样可以在EXE程序中隐式调用MFC规则DLL,只需要将DLL工程生成的.lib文件和.dll文件拷入当前工程所在的目录,并在RegularDllCallDlg.cpp文件(上一节中图5所示对话框类的实现文件)的顶部添加:... 共享MFC DLL的规则DLL的模块切换 应用程序进程本身及其调用的每个DLL模块都具有一个全局唯一的HINSTANCE句柄,它们代表了DLL或EXE模块在进程虚拟空阅读全文 »

2013年2月5日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

设计模式,不只属于面向对象

       文章开篇先说下什么是模式。设计模式的英文是Design Pattern,模式是Pattern的汉译。所谓Pattern就是一种规则,或是一种模型,或是一种习惯。Pattern这个东西到处都是,并不只有技术圏子里才有。比如: 文章有文章的Pattern。如新闻有新闻的Pattern(第一段话简述了整个新闻),诗歌总是抒情的,论文总是死板的,讲稿总是高谈的,漫画总是幽默的,……。阅读全文 »

2013年2月3日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

DLL动态链接库编程入门之三:MFC规则DLL(上)

       上一节中讲解了非MFC DLL,本节将介绍如何创建MFC规则DLL及使用MFC规则DLL的方法。 一、MFC规则DLL概述 MFC规则DLL的概念体现在两方面: (1)它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2)它是规则的 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC...阅读全文 »

2013年1月31日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

DLL动态链接库编程入门之二:非MFC DLL

       上一节中讲解的是DLL概论及其调试和查看,本节将为大家详解非MFC DLL的相关内容。 1、一个简单的DLL  上一节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图1,在VC++中new一个Win32 Dynamic-Link Library工程dllTest。注意不要选择MFC AppWizard(dll)阅读全文 »

2013年1月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:7

DLL动态链接库编程入门之一:DLL概论及其调试和查看

       比较大的应用程序都是由很多模块组成的,这些模块彼此协作,以完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其他软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE 文件中,会产生一些问题。一是增加了应用程序的大小,这样会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间...阅读全文 »

2013年1月22日
作者:鸡啄米 分类:软件开发 浏览: 评论:11

C++深浅拷贝浅析

       C++中深拷贝和浅拷贝的问题是很值得我们注意的知识点,如果编程中不注意,可能会出现疏忽,导致bug。本文就详细讲讲C++深浅拷贝的种种。 对于一般的对象,如:... 它们之间的赋值、复制过程是很简单的。但是对于类对象来说,其内部存在各种类型成员变量,在拷贝过程中会出现问题。阅读全文 »

2013年1月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

详解C++中命名空间的意义和用法

       看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是在标准命名空间std中定义的。本文就详细讲解命名空间的意义和用法。 命名空间的意义 ...阅读全文 »

2013年1月13日
作者:鸡啄米 分类:软件开发 浏览: 评论:8

C++多线程编程入门之经典实例

       多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平。 其实C++语言本身并没有提供多线程机制,但Windows系统为我们提供了相关API,我们可以使用它们来进行多线程编程。阅读全文 »

2013年1月9日
作者:鸡啄米 分类:软件开发 浏览: 评论:16

VS2010功能使用体验篇

       鸡啄米在之前的教程中已经详细讲解了VS2010的用法,但都是基于C++的,本文则是一位Web开发者分享的VS2010的使用体验,介绍了VS2010与以前版本的一些不同之处,主要是工具的使用方面。以下是原文。 首先来看下创建项目的对话框,在左边的Installed Templates里多出了几个选项,如Cloud Service、F#等。点击左边栏中的C#...阅读全文 »

2013年1月3日
作者:鸡啄米 分类:软件开发 浏览: 评论:9

C++编程开发学习的50条建议

       每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路。下面列出这50条建议:...阅读全文 »

2012年12月29日
作者:鸡啄米 分类:软件开发 浏览: 评论:13