西西河

主题:【原创】好吧,给一个铁道部订票系统的正确答案 -- 布老虎

共:💬185 🌺732 🌵9
分页树展主题 · 全看首页 上页
/ 13
下页 末页
            • 家园 可能这哥们根本就是个新手

              我是看了这句话,无话可说了。这哥们尼玛就根本没有干过CS啊。。。我不知道这十多年来他开了啥源。

              这哥们说:

              “事实上,根据我在开源世界十多年的经验,开源产品虽然创意足够多,但真正能够保证质量,懂得业务的产品几乎没有。”

              任何干过码工的直立行走的人,都不会说这话。你这每天的开发应用居然没有用到开源项目?

              这哥们完全不知道开源是干啥的,也不知道开源和业务逻辑之间的关系。他以为开源,是开业务逻辑的源。搞不好就一干外包的,做业务逻辑堆代码的。Spring开源了啥业务逻辑,说给大家听听?尼玛

              那些说话云山雾罩吞吞吐吐神神秘秘的骗子到处都有,差别就在国内把很多事情看得很神秘,所以相信的人很多。国外很多事情很多高手亲自做过,所以很难骗到。所以我老一看到这厮的帖子,就断定这厮在国内,就是一做外包的,完全不理解交易的原理和过程,没干过正经CS开发,最多堆一点业务逻辑代码之类。Oracle/IBM的数据库,在他看来是神圣不可侵犯的东西。

              结果这哥们上来胡侃了一通啥CRUD不是Transaction(这尼玛就不是可以比较的两件事),告诉大家绝对不要相信open source,要绝对相信厂家(Oracle, IBM),这事情很神秘很高深,不是你们可以搞懂的,只有厂家懂,你们乱来,是要负政治责任滴。政治责任,懂吗?你付得起吗?这transaction有多神秘多难,你们懂吗?看过postgresql吗?

              这尼玛postgresql不就是开源的?你这TMD整出一单机版的准备糊弄铁道部?

              计算机技术这东西说白了就是一层窗户纸,一捅就破。没有任何东西是神圣不可侵犯。当年的Spring就是对EJB的不满,啥JB XA,净尼玛胡扯。国内当时照样有人到处宣传,说唯一正确的交易处理方法就是EJB,结果现在没有人用EJB了,傻了吧?EJB就是Sun瞎JB捣鼓出来卖ApplicationServer用的,你看看现在还有人买ApplicationServer吗?数据库这东西也是一样,现在的NoSql就是对relational的修正。你做transaction可以在应用层,也可以在数据库层。有人非得说transaction一定要在数据库层,一定要指定厂家才行,那如果不是故意装傻,就是真傻了。国外这事早就讨论清楚了,所以才有NoSql风生水起。只有国内厂家的Sales,“干了”10多年open source居然没见过啥像样项目的,才敢这么梗着脖子胡扯。

              我老在雄文里辛辛苦苦地给大家捅破这层窗户纸,大家居然看不懂,仍然顺着强大的思维惯性,下意识地觉得这东西很神秘,不是自己可以碰的,还是别想了,想也没用,做不出来的,不如听厂家的,一身轻松,省事不费脑,还有好借口。

              我老实在是对你们这些人很失望。

              • 家园 看了整栋楼里边的讨论,有两句话望兄台考虑

                我所在的公司有两句口号,我很欣赏:

                1,我们就是尽量以我们的能力帮助客户做他想做的事情。

                2,这(客户成功)就是我们为之而奋斗的时刻。

                当然不是说任何事情都完全依着客户的要求来。这里边有基于我们自身的基础/储备和优先考虑的情况,但即便如此,认真理解客户的需求,尽可能地为客户提供他需要的帮助,还是我们工作的出发点。

                我们是在客户那里讨饭吃的。这并不是每一个技术人员都清楚的事情。

              • 家园 技术帖还是少点脏话比较好。

                否则会降低说服力。

              • 家园 感觉更像新手的是你

                我不懂数据库,更不懂你们说的那些名词,不过根据我所知道的一些最基本的原理想来,你的主帖内容至少有2个问题:

                1,没有抓住核心问题。竞争的核心资源是"座位",对“座位”资源的read/modify/write的机制——也就是你所说的“占座位”——是整个系统的瓶颈——你轻描淡写一笔带过了。我怀疑你可能并不理解问题的实质。

                2,对可能面对的问题严重估计不足。“当然肯定存在这样的二百五,事先没往铁道部的系统里存钱,要订座了才开始存钱。”这个是必然发生的大概率的事情,你只是简单的把这种可能归结于“用户是250”.....

                当然,我是外行,随便说说我的印象而已。

                • 家园 我个人也觉得红黑客说的更有道理

                  布老虎兄的业务流程还不如目前线上的业务流程,光是预存费用到铁老大这个做法就不知道要增加多少成本.

                  轻轻松松一句话"预存",增加了这个业务,得一堆功能.

                  1.有预存了是吧,那用户存多少钱得有个地方记录吧,就多了用户账户这个业务对象.

                  2.有了用户账户这个业务对象,得把它管起来吧.得知道里面的钱是怎么来的,怎么没的.得做账户流水.

                  3.有了账户流水,还得知道这个流水对不对,跟实际订单合不合的起来,这个得对账.(目前线上系统虽然也要做对账,但是只要拿自己的订单和银行的流水对就行了.增加了用户账户这个概念,还得对用户账户和铁老大自己账户的出入帐,明显多了一个环节)

                  4.用户账户余额你得让用户查吧,用户账户余额最准确的来源是从账户流水统计,但是出于性能考虑,每次事实从账户流水统计明显太吃性能.那就得做账户日结,每天给账户计算一个余额,当前余额就从日结金额和当日流水里查,这就快多了.

                  5.用户说我不买了要把预存账户里的钱退回去,这得提现.从目前系统看,铁老大并不是只结银联,其他不管的做法.而是把银联当成资金渠道之一,其他机构还得接.那好了,每个资金渠道的提现接口都得开发一遍

                  6.这样还没算上铁老大的账务人员的增加的人工工作量,这是个招人的好理由;

                  我个人认为,铁老大的售票系统的方案可行不可行,好不好,从技术上来说还是要看写并发处理的好不好.而布老虎兄明显没有描述这个细节.

                  通宝推:老醋花生,bayerno,
                  • 家园 我的天,个人账户管理都会有困难?

                    怎么可能?

                    1.有预存了是吧,那用户存多少钱得有个地方记录吧,就多了用户账户这个业务对象.

                    -- 不懂,有问题吗?这不是很普通的数据库操作吗?

                    2.有了用户账户这个业务对象,得把它管起来吧.得知道里面的钱是怎么来的,怎么没的.得做账户流水.

                    -- 不懂,有问题吗?这不是很普通的数据库操作吗?

                    3.有了账户流水,还得知道这个流水对不对,跟实际订单合不合的起来,这个得对账.(目前线上系统虽然也要做对账,但是只要拿自己的订单和银行的流水对就行了.增加了用户账户这个概念,还得对用户账户和铁老大自己账户的出入帐,明显多了一个环节)

                    -- 不懂,有问题吗?这不是很普通的数据库操作吗?

                    4.用户账户余额你得让用户查吧,用户账户余额最准确的来源是从账户流水统计,但是出于性能考虑,每次事实从账户流水统计明显太吃性能.那就得做账户日结,每天给账户计算一个余额,当前余额就从日结金额和当日流水里查,这就快多了.

                    -- 怎么会吃性能?Sharding/前端cache不就是对付刷屏的吗?你们这种对数据库的使用方法(用的是最简单的操作,一步都不敢动,稍微变一点花样就晕头转向,不行啊)

                    5.用户说我不买了要把预存账户里的钱退回去,这得提现.从目前系统看,铁老大并不是只结银联,其他不管的做法.而是把银联当成资金渠道之一,其他机构还得接.那好了,每个资金渠道的提现接口都得开发一遍

                    -- 所有的正规一点的网站,都有Master/Visa/Discover/AmEx/PayPal的接口,这里面为什么会有困难?不懂。

                    6.这样还没算上铁老大的账务人员的增加的人工工作量,这是个招人的好理由;

                    -- 这个软件处理系统会增加人工工作量,嗯,有意思。

                • 家园 考虑问题的出发点不同,勿喷

                  世界上没有钱解决不了的问题。既然技术上有未解难题,通过改变需求规避掉不就可以了么。。

                  据我所知,客户提出强人所难的要求那简直太多了,耐心的解答也是工作的一部分。

                  考虑到这个单子还是给铁道部自己人继续做的,我觉得还是让铁道部自己去考虑怎么解决吧。就我现在随便考虑下,解决办法最起码3,4种,他们会想出来的。

          • 家园 铁路有自己的软件研究院, 确实不信任纯软件人员

            而且铁路的售票系统如果在黄金周或者春运出问题就是政治问题, 有人要负责任的。

            • 家园 在黄金周或者春运出问题就是政治问题?那还真不错

              现实是购票系统在这几年的黄金周和春运都表现不佳,好几次在高峰时段几乎没法用,问题一堆一堆的 —— 请教哪位同志出来负什么责任了?

              • 家园 所谓的政治责任是他们掩盖技术水平低下的借口

                我早就指出,这帮人毫无正常的软件开发/测试/发布SDLC的概念,没有正确的测试和发布步骤 - 比如最基本的常识,从一个路局开始,逐步增加路局数量,这样即使有问题也会提前发现提前解决。

                拿所谓的政治责任来扇呼,唯一的目的就是用不可知论来吓唬不懂技术的领导,不做任何系统设计(或者这帮人根本设计不了任何可靠的系统,或者故意不做任何设计),完全依靠硬件升级和设备厂家,从而大幅度提高系统成本,把根本用不到的巨型服务器卖个好价钱。从甲方乙方来看,都非常可疑。

                简单地说,他们不知道这个系统会出什么事,然后让领导签字买专用设备,理由是,如果出了什么事,厂家负责。

                如果领导不傻,一句话就能让这帮人现了原形 - 这系统放上去,你居然不知道会出什么事?

                我都不知道在跟一群什么人在讨论问题,这显然不属于信息“技术”版。

                • 家园 上线是big bang还是分步来是要权衡的

                  铁路业务我不熟悉,但是最起码的一点,分步走就牵涉到新系统和老系统界面的问题。按照个人在制造业的一些经验,老系统我估计数量是上千的,这个界面的开发开销应该不比做个新的低。

                  你说分步走是最基本常识,我的感觉是你可能缺少对业务的最基本常识。。。

分页树展主题 · 全看首页 上页
/ 13
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河