用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

一个电子商务项目管理的旅程

作者:myzhiku.com   提交人:XO[myzhiku.com]   属性:提交人转载   发布时间:2005/2/23   点击:5078   【收藏本文

你已经看到,关于安全性有很多要考虑的事情,这些考虑将明显的影响设计工作。我们必须明白我们想要达到哪种安全性级别,我们所用的不同系统的安全性级别以及它们如何影响我们的要求。我建议你从安全性开始你的项目设计,并且在设计系统中的其他部分之前完成这项工作。当你的计划向前推进时,这将会提供一个你可以返回的基础,并且你可以决定在你的安全构架中是否需要其他的系统服务和系统特性。项目管理者联盟

服务器选择项目管理者联盟

一旦你理解了核心设计,也处理完了你的规格,并且对安全性问题也有一个良好的认识,你就需要开始认真考虑要用来运行产品的工具了。这可以归结为一个基本问题:;我究竟需要多少台服务器?;这儿没有唯一的答案,如果我告诉你做决定所需要的知识对你更好一些。项目管理者联盟

如何计划你的服务器关系到你对规格的理解有多深刻。你理解得越深,准确预见你的需要的机会就越大。这儿有一些基本的提示,它们可以帮助你更好的开始:开发用户原型:这将使你能弄清楚Web站点的用户在什么地方消耗他们的时间。如果你的用户在进行高级搜索上花去了80%的时间,你也许会愿意把这项功能转移到一台单独的服务器上。没有用户行为的精确数据,你是不可能在诸如此类的事情上做出决定的。配置独立的数据库和Web硬件:甚至在最小的环境里,你也应该认真考虑把你的数据库和Web系统放置在不同的服务器上。Web服务器和数据库服务器,这二者要发挥最佳性能,需要做不同的调整,而其中的差异是非常巨大的。当你调好了一个,却会造成另一个的性能问题。同时,在数据库上,备份操作的负担通常只有在一台独立的服务器才能很好的解决。把资源密集型的应用转移到独立服务器上:那些会造成密集的系统请求的操作应该转移到别的服务器上去。批处理、为目录编制索引、直接邮件操作,以及Web日志分析,这些都是应该仔细考虑是否要用专门的服务器来处理的内容。blog.mypm.net

可恢复性(Recoverability)项目管理者联盟

我们经常这样来考虑可恢复性,即在发生系统崩溃或者其他灾难的时候,我们怎样恢复系统。更常见的情况下,是指如何恢复系统服务。虽然这样说已经基本上够了,我们还是需要想得更广泛一点,应该把事务恢复也包括进去。项目管理者联盟

事务恢复是指把现在的系统状态恢复到前一个事务状态(耶!你在讲天书啊?)。让我们试试是否能把它变得更容易理解。电子商务系统的目的,就最基本和最原始的意义上来讲,是让我们可以买到东西。要达到这个目的,我们必须采取一种;要么全有,要么全无的态度。也就是说,我们要么开展完整的交易,要么一点也不要做。为了方便,我们需要假设系统已经通过了ACID测试,我们在本系列的第二部分要讨论这种测试。项目管理者联盟

现在,我们只要相信我们已经有一种恢复事务的方法就行了。如果我们使用站点服务器商业版(SiteServer,CommerceEdition)带有的定单处理管道(OrderProcessingPipeline),我们就有一种简单而完整的办法来取消我们所做的改变或者确保改变已经生效。在我们需要和诸如CICS以及Oracle数据库这样的主干(Legacy)系统互动的时候,还需要提供对分布式事务的支持。使用MicrosoftTransactionServer就能满足这个要求。项目管理培训

如果我们所要做的全部工作就是事务恢复,那就太好了,但是我们仍然要明白在发生系统崩溃、数据库崩溃或者类似的问题时如何恢复我们的平台。下面列出了我们将在电子商务系统中遇到的一些问题:分布式恢复:多数电子商务系统是建筑在多层结构上的,这个结构包括表现层、商业层以及数据层。每一层都和不同的主干(Legacy)系统相互作用,并且需要有不同的恢复策略。项目管理者联盟

庞大的数据集合:视你的系统而言,你需要维护的数据库的规模从GB(230)到TB(240)不等。备份和重新装载这样的系统需要高速解决方案。请确认你已经参考过你的规格,知道有多少数据需要存储,以及这些数据是否必须总是处在能被访问的状态。如果需要数据来做商业报告,你也许愿意把这些信息转移到一台可以用来做分析的服务器上。这不仅将减少你的备份和重载时间,还将提高系统的性能。你还需要考虑巨大的数据集合对索引修复、DBCC操作以及维护工作的影响。MicrosoftSQLServer?7.0在这些领域提供了巨大的性能改善,你也许可以把它作为你的设计的一部分。项目管理者联盟

不间断的操作:提供一个能确保7x24操作的设计方案是一个很普通的要求。我发现这个要求的真正含义是你要能够处理那些妨碍实现真正的7x24操作的事情。稍后,我们将讨论如何使用MicrosoftMessageQueue(MSMQ)进行异步设计以使你能以最佳费效比来提供这项服务。项目管理者联盟

正如你看到的,事务和平台的恢复工作是一件很严肃的事情。每一项都将对你如何编写你的系统造成影响。你必须在转到开发阶段以前解决这个问题,因为这是你走向成功的关键。PgMp.mypm.net

关于性能项目管理者联盟

更大、更快、更强!这好像是今天各处的电子商务站点的;战争;口号。为数十万的用户服务、处理事务,以及增加商业收益的能力是任何电子平台成功的关键所在。在这一部分,我们的目标是了解如何设计一个能提供高性能、高可靠性以及高可伸缩性的系统。pmp.mypm.net

均衡装载和可伸缩性项目管理者联盟

在我讲演的时候,我经常向听众提问,我问他们,有多少人设计过一个可以同时支持几百个用户的高性能、满负荷、具有容错能力的系统。在平均大约500个听众中,有200只手举了起来。然后我问有多少人设计过一个类似的系统但是能同时支持1000个用户呢?这回只有不到100个人举手。最后,我问有多少人能设计一个可以同时支持10000个或更多用户的系统时,一般都没有人举手。本节的内容将帮助你将来成为少数几个在我问到这个问题时能举起他们的手的听众中的一个。项目管理者联盟

虽然我也可以把均衡装载和可伸缩性分成两个独立的题目,但是我还是更愿意把它们作为一个整体来处理。因为这两个问题实质上是同一个问题:状态的维持。简而言之,维持状态与保持一致是一个意思。当我们维持状态时,我们就是有状态的,反之,我们就没有状态。如果在用户的每一个动作中间,你能记住他是谁以及他在做什么,你就是在维持状态。又比如,假设我登录到你的系统上,每一次我查询购物篮,你都可以把它显示给我而不需要采用cookie以及其他的客户端标志。你知道我的;用户代号;以及;购物篮代号;。这是因为你使用了Web服务器资源来跟踪我在做什么,我是谁,我去你站点上什么地方。维持状态受到我们的可伸缩性和均衡装载的限制。项目管理者联盟

均衡装载是通过循环DNS(域名解析),Cisco本地目录(CiscoLocalDirectors,属于硬件解决方案),或者是最近我特别推崇的,MicrosoftWindowsLoadBalancingServer等方案实现的。这些解决方案把客户端请求引导到被称之为;农场;的最小繁忙(least-busy)服务器上。一个Web;农场;主要是指一系列提供不同服务的服务器。例如,我可以有三个独立的Web服务器,使用上边介绍的其中一种解决方案,把客户装载分布在这三台服务器上。从理论上讲,如果每一台服务器能同时处理100个客户的话,那么由三台服务器组成的Web;农场;就能同时处理300个客户。这样做的好处是对客户端来说,他们看到的都是同一个IP地址或者域名。项目管理者联盟

如果客户A的第一个请求经由路由器后到了Web服务器1上,而第二个请求却到了Web服务器2上,这样会发生什么情况呢?在一个状态化的环境中,这将会是一个麻烦。如果我们第一次连接到Web服务器上,那么我们需要总是返回到Web服务器1上,因为我们是在这台服务器上建立了我们的状态或者说是身份。在一个典型的Web;农场;中,服务器之间是没有通信的,因此只有在你第一次连接到这台服务器上以后,它才能知道你是谁。设想一个客户在每一次点击一个超链接时都被要求登录一次,仅仅是因为她被导向了一个不同的Web服务器。最低限度说来,这也是会让人感到沮丧的。项目管理者联盟

均衡装载一般通过下面这种方式来解决这个问题,它实现一个路由表,该表追踪客户的IP地址并且总是把客户导向同一台服务器,除非客户断开连接或者该会话到期。这样做的结果是你必须维持状态并且要利用珍贵的服务器资源。针对大流量的站点有一种更好的方式,这种方法是和MicrosoftSiteServerP;M捆绑在一起的,并且是一种无状态的方式。在我们详细讨论这个方案之前,首先让我们把注意力转到另一个领域--可伸缩性上来。项目管理者联盟

我们已经确信,在Web服务器上维持状态将导致资源的占用,这将限制我们扩大规模的能力并且会降低整体性能。但是状态化的设计可能对平台上别的领域有利。假设每次我们想要查看某种产品,我们都要和一个同后台数据库对话的COM组件相互作用,当我们第一次使用该组件时,我们传递一个用户代号给它。以后每一次当我们想知道某种产品的信息的时候,我们就传递一个产品代号。依靠产品代号和早些时候我们传递的用户代号,系统就能提供我们一个包含定制价格的产品信息。说得更明白些,就是我们连接到该组件时同时建立了一个到数据库的连接。从理论上说,这样做比每次和该组件互动都建立该连接要节省一些时间。这象是个好主意,不是吗?好的,让我们回到那个伤脑筋的问题上:如果有10,000个用户同时连接会有什么事情发生呢?利用前面这种思路来解决问题,我们就需要维持10,000个COM组件和10,000个数据库连接。那么当规模扩大到100,000或者200,000甚至1,000,000个用户呢?显然这不是一个好的设计,就因为它是状态化的。更好一些的方案是使用无状态的组件和连接池(connectionpooling)。这样做并不难,而回报是巨大的。如果我们修改COM组件使得每次传递产品代号的同时也传递用户代号,这样做也能返回一个包含定制价格的产品信息。不同之处在于,一旦我们完成了任务,我们可以立即释放组件和数据库连接,因此也就释放了先前的系统资源。与管理连接和设计一个实现连接池的构架相比,更好的方式是在MTS中保存组件并且利用JIT(Just-in-time,即时激活)的优越性以及连接池。这个小小的改进将使我们很容易就把规模扩大到超过10,000个同步用户。bbs.mypm.net

如果我们现在回到均衡装载的情况,为Web;农场;提供状态无关性,我们也可以从同样的方式中获益。我们可以使用客户端cookie,HTML表单,或者将用户代号作为URL字串的一部分来传递。我们现在可以实现均衡装载机制了,方法就是将请求引导到Web;农场;里任何一台可用的服务器上。在设计和开发中使用这些技术可以给你提供超乎想象的可伸缩性。但是最终你还需要更为灵活的和可伸缩的设计,这样你才能利用每一点系统资源。项目管理者联盟

容错能力和可靠性(FaultToleranceandReliability)
在设计阶段的会话过程中,我经常耍这样一个小小的花招,我问:;这个系统是不是一定要7x24?;回答总是;是的。;然后我问:;我们是否需要和主机或者主干(Legacy)系统打交道?;答案当然还是;是的。;接下来我又问(这就是奥妙之所在了);你的后台系统是否需要关机来进行维护呢?;通常我总是得到我想要的答案;每个星期六晚上;这时候我就会问;那么我们怎么能实现7x24呢?你的主机关机了,而我们又要靠它才能进行服务?;一般情况下,答案总是一片沉默。
项目管理者联盟

对于这个佯谬,答案是使用异步设计。你的目标是希望在公司的主机被关闭以进行维护的时候能接受定单,而不是关闭系统。为了实现这个目的,你需要在设计中使用MSMQ。项目管理者联盟

把对异步的支持包含在设计中,就可以接受定单并且把定单代号发送到一个MSMQ队列中去。一旦后台系统又重新回到线上,系统就可以扫描这个队列取出定单代号并且继续处理它们。你只需要做一点点工作,就可以通过这项服务在你的商业层次上提供更高的智能。例如,如果后台系统在线上,你可以把定单请求直接传递给它并且立即将确认信息返回给顾客。如果它不在线上,你可以把定单发送到队列中去,并且通知用户对他的定单的确认将在一个钟头之内发给他。在任何情况下,你都要给你的用户提供一种可以追踪定单处理进程的方式。使用异步设计能够提供一个高度可靠的系统,并且可以降低总拥有成本(totalcostofownership,TCO),但是我们仍然需要处理那些传统的容错和可靠性方面的事务。我们已经在不知不觉中解决了一些这样的问题。项目经理博客


<<上一页 1 2 3 下一页>>
项目管理者联盟PMP认证中心
[发表评论]
本站热点
· 华师大CTO学院:科创生态建设与创新项
·宏发电声江玫瑰谈PgMP:“下好一盘棋”
·PgMP:交付能力与创造未来的项目管理方
·开放讲座|《项目组合管理与PfMP认证》
·开放讲座|项目组合管理与PfMP认证
·开放讲座|PgMP:项目管理思维与方法论
·开放讲座|《项目组合管理与PfMP认证》
·网络讲座|《项目组合管理与个人职业发展》
·开放讲座|《项目组合管理与PfMP认证》
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
活动QQ群:531390275
免费积累PDU,仅500人

2022年项目管理活动计划
2021活动精彩回顾
原创排行榜
 项目管理评论杂志 311 高扬 106
 乔东 100 项目管理 84
 高国伟 61 人月神话 60
 张为 59 郭致星 52
 蒋昕炜 46 肖杨 38
 曾伟强 37 潘德有 36
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦

企业项目化管理

PMO实践与应用

如何处理项目客户关系

更多:
经理访谈
更多:
个人专栏

王树文

赵春明

高国伟

更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
09-02·项目集管理:构想一种不同.
08-17·项目经理“催活儿”的正确.
08-17·建筑工程项目管理中施工现.
08-17·进阶项目经理必备的复盘方.
08-17·项目管理协会PMI发布新人才
08-17·互联网大厂项目经理面试的.
08-17·项目经理要如何提高自己的.
08-17·管理改进中几个确实有用的.
08-17·项目经理提升职场能力的20.
06-14·项目经理搭建团队,需要看.
06-14·5A学员董雏:PMP取证重要,
06-14·成功管理能源项目的技巧和.
06-14·拥抱敏捷—计划发布与冲刺
06-14·从PMP到PgMP :不畏浮云遮.
06-14·这30+项目管理工具,优秀项
06-14·深度剖析项目管理五大痛点.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接

项目管理者联盟 版权所有 | 京ICP备10055250号-11 | 京公网安备 11010202009440号

如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
PMI,Project Management Professional, OPM3, PMBOK, PMP,PgMP,PfMP,PMI-ACP,PMI-PBA
and the PMI Registered Education Provider logo are registered trademarks of the Project Management Institute, Inc.