IOS常用设计模式,大型高并发高负载网站的系统

我在Cernet做过拨号接入平台的搭建,而后在Yahoo3721负载搜索引擎前端平台开发,又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。

IOS常用设计模式——单例模式(IOS开发)

IOS常用的设计模式包括:单例模式、委托模式、观察者模式和MVC模式。

这里主要讲单例模式

单例模式

-问题: 主要解决应用中只有一个实例的问题(只需要某个类的实例)

-原理:一般会封装一个静态属性,并提供静态实例的创建方法

-应用:单例类

// Singleton.h
@interface Singleton : NSObject
  (Singleton *)sharedManager;
@property (nonatomic, strong) NSString*  stingletonData;
@end

#import "Singleton.h"
@implementation Singleton
@synthesize SingletonData = _singletonData;
static Singleton *sharedManager = nil;
  (Singleton *)sharedManager
{
    static dispatch_once_t once;
    static dispatch_once_t onceToken;
    dispatch_once(&once, ^{
        shardManager = [[self alloc] init];
    });
    return shardManager;
}
@end

包含了一个静态变量singletonData, 类方法采用了GCD技术(基于C语言的多线程访问技术),它的作用时在整个应用程序生命周期中只执行一次代码块({})。dispatch_once_t是GCD的结构体,使用时需要传递一个指针。

dispatch_once函数能保证函数只会被运行一次,还意味着运行是线程同步的。

IOS常用的设计模式包括:单例模式、委托模式、观察者模式和MVC模式。 这里主要讲单例模式 单例...

大家在winXP上都成功的安装了WMP11,现在在win2003上的安装也成为可能。

一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。

    1. winrar解压wmp11的安装文件到某目录;
    2. winrar解压wmp11.exe和wmfdist11.exe到分别的目录: wmp11和wmfdist11 ;
    3. 修改wmp11updateupdate.inf:

大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。

MaxNtMinorVersionToUpdate=3
MaxNtMajorVersionToUpdate=5
NtBuildToUpdate=2600
NtMinorVersionToUpdate=1
NtMajorVersionToUpdate=5
MaxNtBuildToUpdate=9999
MinNtServicePackVersion=0
MaxNtServicePackVersion=512

上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。

    4. 运行update.exe ;
    5. 恢复update.inf ;

1、HTML静态化
其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。

    注意,由于update.exe完全启动之后,update.inf就会因为程序运行而被锁死,所以在双击update.exe大约时间在1~2秒之间就要把恢复文件覆盖上去;

除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。

    6. 下一步继续安装;

同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。

    6.5. 注入附件的注册表文件

本文由ca88手机版登录发布于ca88手机版,转载请注明出处:IOS常用设计模式,大型高并发高负载网站的系统

TAG标签: ca88手机版登录
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。