这是经过我的观察得出的海底捞的服务流程 从某种程度上说海底捞的服务模式是高效的。 固定服务(Fixed Service):前端服务,用Listener来侦听事务的数据变化,请求并且在与后台通信后返回一个回馈。后台对于该事务的反馈通常都是这一个模块来处理的。另外这个模块还担负着执行事务的创建和销毁的流程。总之这个模块就是和事务直接进行接触的基础服务模块。 临时服务(Interim Service):后台服务,该部门是处理系统底层数据的。当它收到前端服务的请求是会进行反馈供前端服务使用。 循环服务(Loop Service):该部分通常是服务器脚本,它们有明确的智能,比如加水,加糖,换毛巾。它们循环侦听每一个事务的数据变化然后做出处理。 在整个流程中,还有一个部分是例外的请求。当固定服务忙,或者被死锁时,事务提交一个请求,这时候请求或许会被某些其他模块侦听到,应该放入一个缓冲区中最终交给固定服务去处理,以致不破坏流程
Posts tagged 敏捷开发
弱弱的说一下敏捷开发
关于敏捷开发,这已经不是一个新词了,我第一次听到敏捷开发这个名词的时候已经是好几年前。可是最近我才真正的开始关注和学习敏捷开发的思想。 首先,敏捷开发是一种针对人的以人为核心的开发模式,这是一种循序渐进的开发模式。他强调的是人与人之间的交互,而不是工具或者其他的流程。它有完整的开发团队,扁平式的,工程师与工程师之间,工程师与项目经理之间直接进行沟通。它把系统划分为若干个尽量小而简单的模块。它要求团队所有成员所做的事情都只是恰到好处。它甚至觉得我们应该拥有一个更好的沟通模式和流程控制,然后抛弃文档,因为文档会耗费大量的时间。 我们需要持续的向客户或者产品设计人员提交版本来让它了解进度并随时给出修改意见,这样做能避免更大程度的返工,也更能在不停的使用中进行测试,找出不尽人意的地方。 进度的控制很重要。进度是保持开发持续性的一个重要因素。而开发持续性是敏捷开发在代码质量控制的过程中的重中之重。 我们需要更好的架构和需求设计。更好的架构能保证模块与模块之间的解耦性,能减低模块之间的影响。而需求设计的完整能让工程师更清楚自己该做什么。 只做到恰到好处。完成所有客户提出的或者是产品设计人员提出的需求,然后仅此而已。保持开发速度,增强单位时间工作的实用性。 我们还需要,经常在一起开开小会,说说遇到的问题,然后改进。 总之我们的目标就是要刚刚好。 同时敏捷开发也存在他自身的不足: 1. 对于那些优先级不明确或者需求不明确的项目难以开展。 2. 团队的建设成本较高。这一点大部分来自于人的问题。人是有缺点的。比如人容易疏忽,犯错误,人宁愿自己写而不愿意改(我就是这样的人),人有时候还难以保持一个优良的状态。于是我们要对团队进行不断的培训,培养,有时候还要设立很多规矩,比如不要随便打扰别人。 3. 当团队有新人进入或者有老人退出时,这一切都将变得很艰难。 其实敏捷开发,就像是一个美好的许愿,无论是公司老总,项目经理,还是工程师,对于敏捷开发都抱有不同程度的幻想,但是它真的那么容易实现吗?
Posts