Web架构师应该具备的能力

1,熟知你的业务模式和目标人群

这是最重要的,Web 2.0 本质上是以Web 作为平台的应用,如果不真正了解你的业务,不了解用户的核心需求,不了解你目标客户的典型行为,是很难做好网站的。从这个角度来讲,一个Web 架构师首先必须是一个出色的产品经理。大多时候,我们只要做到业务技术领先就足够了,一味地追求技术的先进性反倒会深陷泥潭。

在技术和业务之间找到一个平衡,也就意味着必须明白整个业务核心的竞争力在哪里?目标人群的基本诉求在哪里?然后选择最低成本的技术来实现业务需求,但是反过来,又必须适当地为业务拓展保留适当的空间。

打个比方说,如果是一个以照片分享为目的应用,你可以将注册程序写的烂一点(但是不可以烂到不能动),你可以将帮助系统做的不那么好看一点,但是上传照片和浏览照片绝对不可以慢,你可以数据库设计的不是那么好,但是存储问题绝对要慎重,绝对不能够在照片超过1 万张后,网站速度就和牛一般……

只有真正理解你所要做的事情,技术那玩意儿才可能变得可爱起来。

继续阅读 »

高并发高流量网站架构设计

分类:Performents Web2.0的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们。但Web2.0以用户为导向的理念,使得新生的网站有了新的特点——高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求。

本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容:

首先在整个网络的高度讨论了使用镜像网站,CDN内容分发网络等技术对负载均衡带来的便利及各自的优缺点比较。然后在局域网层次对第四层交换技术,包括硬件解决方案F5和软件解决方案LVS,进行了简单的讨论。接下来在单服务器层次,本文着重讨论了单台服务器的Socket优化,硬盘级缓存技术,内存级缓存技术,CPU与IO平衡技术(即以运算为主的程序与以数据读写为主的程序搭配部署),读写分离技术等。在应用层,本文介绍了一些大型网站常用的技术,以及选择使用该技术的理由。最后,在架构的高度讨论了网站扩容,容错等问题。

本文以理论与实践相结合的形式,结合作者实际工作中得到的经验,具有较广泛的适用性。

继续阅读 »

要如何管住蔓延的需求

时间:项目启动期 地点:经理办公室

老王[部门经理]:小项啊,销售部的这个CRM系统可是今年的重点项目,领导们都很重视,一定要确保按时交付啊!

小项[项目经理]:老大请放心,保证完成任务!

老王:好!不过有些情况还是要注意,这之前的几个拖期比较严重的项目,咱们内部也总结过,差不多都是因为需求变动造成的,这次你可要把好需求管理这道关,别犯过去的老毛病啊!

小项:是,老大。以前那几个项目,都到了开发阶段还在不停增加新功能,才导致工期一拖再拖,这回我们从需求阶段就把好关,老大你也跟销售部的老大打个招呼,需求一旦确定后就不要轻易变更,这样工期也好控制。

老王:行啊,没问题,我就等你的好消息了。

继续阅读 »

Hadoop 入门介绍

Hadoop这个名字不是一个缩写,它是一个虚构的名字。该项目的创建者,Doug Cutting如此解释Hadoop的得名:”这个名字是我孩子给一个棕黄色的大象样子的填充玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手。Google就是由小孩命名的。

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。

继续阅读 »

软件项目的管理之痒

在国内,不少做过几年程序员,被同事、圈内的朋友公认为技术水平不错的人,在考虑自身职业发展的时候,可能会想当然的认为:“我可以做项目经理了,感觉做个项目经理也没啥特别难的”。

但如果你真的有机会,去尝试带一个团队,哪怕是只有几个人的一个小TEAM的时候,你就会发现,你必须面对一系列的问题和麻烦,而这些事情的处理结果,基本上和个人技术水平无关。

举一些例子:
“自己每天被领导施压,忙忙碌碌,累得吐血,可手下的几个人,却让人觉得他们闲的发慌”。
“给他们布置的任务,好像怎么也做不完,一拖再拖,个人感觉是很简单的事情”。
“好容易分工做完了几个模块,整合起来却怎么都不对,老是出现错误,还得我自己亲自动手修改处理”。
“交给了客户一个测试的版本做展示,客户第一句话就是:这个不是我们想要的”。
“眼瞅产品交付的最后期限逼近,可软件的问题层出不穷,错误百出,这怎么能让客户满意并且验收签字呢?”。
“天天加班,把人搞得生理时钟失调,昼夜颠倒,做这个项目的人怨声载道,整天怒气冲冲,威胁辞职、罢工”。

继续阅读 »

程序员为什么一直都很努力,却没有进步?

程序员一直很努力,为什么却感觉到没有什么大的进步?不知道大家有没有这样的感受,
这是一篇关于反思类的文章,程序员一般自学的方式有哪几种,个人归纳其他大致三点:
第一种:看书,第二种:看视频教程 ,第三种,看博客文章等

继续阅读 »

Python 获取本机网卡mac地址及IP

分类:Python

  1. # mac,linuxany.com
  2.  import uuid
  3.  uuid.uuid1().hex[-12:]
  4.  
  5.  # IP,linuxany.com
  6.  import socket
  7.  socket.gethostbyname(socket.gethostname())

返回顶部