大家好,今天小编关注到一个比较有意思的话题,就是关于java语言atm的问题,于是小编就整理了2个相关介绍Java语言atm的解答,让我们一起看看吧。
银行为什么不用国产系统,反而用IBM的很多?
看了上面的答案,真正懂行的不多。现在的媒体记者更是整天煽风点火,缺乏专业知识。银行才是最离不开IOE的行业。
前几个月和IBM的一个软件销售(非大中华区)吃饭,人家表示了对IBM在中国软件销售前景的担忧,随后他又说了一句:“IBM现在中国比较安全的业务就是高端服务器了,虽然贵但是稳定性好,那几个大银行的数据量现在只有IBM的高端机能支持,也不太有可能放到云上。中国的竞争对手还没有这个技术。”
公司做大了,任何政府都会想插一手,这是无可奈何的事情。枪打出头鸟,这就是美国政府要对付华为,中国政府对付Google麦肯锡IBM一样的。这是非常正常的外交手段。
中国的IT企业现在比不过人家,这是事实。保护主义要不得,看看东南亚那些小国就知道,国有垄断企业根本不求发展效率低下。希望中国的企业能静下心来搞技术。人家IBM,微软,oracle雇了那么多科学家一个季度花十几个亿美元在研发上,这点就是值得学习的。
利益相关,我就匿名了。
银行业和互联网行业在IT建设上最大区别在于:银行业考虑的不是技术能力,也不是人才数量和质量,而在于开始建设时的时间点和需求。
上世纪银行业有钱,也有准确的业务需求,最主要的是业务变化很慢,需求风险低,业界没有Hadoop等开源的产品,甚至连IBM自己都没有Unix服务器。
银行业唯一的选择就是大型机,再加上那时的富士通、日立、天腾等都不如IBM好,所以银行业就自然而然的选择了IBM大型机。
大型机和超级计算机的区别在于:超级计算机是将所有的数字技术都集中在尝试解决单个的问题上,而大型机所有的计算能力是用来执行数十亿的小事务。IBM大型机被称为是“云计算时代最强大的交易系统”,它主宰了“非x86”的主机市场,占了大约75%的市场份额,每天处理超过300亿笔交易,超过了谷歌的日搜索量。
比如:IBM z14拥有32TB的内存,可以在单个系统上每天处理120亿次事务,运行Java工作负载要比x86快50%,并且可以执行1000个并发的NoSQL数据库。
新一代的z15和z14相比:处理器核心数从170个增加至190个,单线程性能提升14%,最大系统处理能力提高25%,内存增加25%,压缩吞吐量提升17倍,I/O通道增加20%。Z15的推出也让IBM的摆脱了过去几个季度的困境。
如今IBM大型机处理87%的信用卡交易,每年有290亿次ATM交易和40亿次旅客航班预订都是通过IBM的大型机处理的。更加令人惊叹的是全球68%的生产工作负载是在IBM大型机上运行的。
银行业除了依赖IBM的大型机外,还对IOE(IBM、Oracle、EMC)框架产生了巨大的依赖性。
比如:招商银行能在几分钟内把总行核心业务真从深圳切换去上海,用的是IBM的i系列,自带的DB2数据库,自带的中间件,自带的通行包,自带的邮件支持。TIMI的设计让现代黑客用尽各种招数。
IOE提供了应用程序以外的所有“基础软件”,包括了操作系统、中间件、数据库等,并且这些“基础软件”的源代码是不会对外公开的,银行业的很多业务都是基于它们开发的。IOE框架从单机的性能、安全性、稳定性、扩展性、可靠性和高可用架构来讲是领先的,银行业都是在守成,很难脱离IOE。
因为“安全”。
你懂我意思吗?特别是核心科技。
啥叫去IOE?
这是三家IT巨头的名字,I=IBM,O=Oracle,E=EMC。他们的产品的作用,可以看下面这个表格:
IOE提供了应用程序以外的所有的”基础软件“,包括操作系统,中间件,数据库等。这些”基础软件“的源代码一般都是不公开的。
当然,应用程序还是要银行的人自己来开发,最威武雄壮的工行,开发队伍有几千人。
那银行为什么不像阿里那样呢?是做不到吗?
并不是。
1、银行要稳定,一旦出了风险,谁来承担责任?没人愿意
2、采购背后的利益,谁愿意让?没有愿意
3、人才不够强,嗯,这是比较现实的问题
4、国内的产品还是顶不上
从设计目标上看,银行广泛使用IBM的Z系列大型机机是以0宕机为设计目标,他的迭代速度要低于企业核心应用为目标的Power系列。我们常用的x86架构,从诞生之初面向的是桌面,之后才面向服务器,稳定性相对比较差,蓝屏很常见。
Z系列从CPU到服务器系统到软件到服务全套都是IBM的产品,从整体上满足零宕机的要求,同时也不存在常用软硬件那样的多个供应商的推诿扯皮。
国产系统大多是基于开源软件改的或是基于多重开源软件的集合,能够完全自研的少之又少,软硬件设计又是多家公司的***,在没有bat那样强有力的内部开发能力之前,国内上百家银行只能使用IBM的成熟产品。
早年在设备供应商工作,同央企的采购部门沟通也比较多。
站在银行的角度
建设IT系统,尤其涉及到钱的系统。价格贵一些没关系,关键要安全、稳定,服务完善。像IOE(IBM、Oracle、EMC)这些国外的设备和软硬件供应商,已经服务过众多大型企业,对系统的安全性、认证、案例等都有充分理由说明系统是安全可靠的。比较容易获得大公司的青睐。就算公开招标,中标的概率也大许多。几十年的技术积累和运营经验,不是靠几天就能达到的。
对负责采购的管理人员来说,购买国际一线品牌的一线产品,职业风险也小。就算出了一些状况,已经是购买了最好的产品了,再出问题责任也小。如果采购的是不知名的,或没经过大数据和时间验证的国产的系统,出了问题责任相对会大一些。除非该业务涉及国家安全等其他层面考虑。毕竟人家采购人员也是打工的,风险大于收益的事情还是要平衡一下的。
站在企业角度
一些大型的项目,国内一些供应商也不太敢承接。随着自主创新、研发的积累,现在已经越来越有能力承接大型金融系统项目。国内一些知名的软硬件供应商已经开始向高端市场发力。技术的积累不是一撮而就,需要经验和时间。
整体战略
“去IOE”战略的推进,毕竟数据系统都用海外的对国家安全存在影响。这些核心技术归根结底还是要回归到本国产业里。所以银行系统用国产系统是迟早的事情,只不过看需要多久而已。
虽然现在这些系统还有好多用IBM的,我的一位IBM华东区市场总监也从IBM离职了。原因是现在国内市场开始慢慢主推国产系统,外企的市场空间越来越小了。
如何理解BIO、NIO、AIO?
先需要了解几个概念:同步和异步,阻塞和非阻塞。
同步:进程触发IO操作的时候,必须亲自处理;你必须亲自去银行取钱。
异步:进程触发IO操作的时候,可以不亲自处理,它把操作委托给OS处理,委托的时候需要告知数据的地址和大小,然后自己去做别的事情,当IO操作结束后会得到通知;你把银行卡给我,让我帮你去银行取钱,你需要告诉我银行卡密码和取多少钱,我取完了之后把钱给你。
总结:自己干就是同步,别人干就是异步。
阻塞:进程触发IO操作的时候,如果此时此时没办法读或者写,那么进程就一直等待,直到读写结束;比如你去银行ATM取钱,前面有人在排队,那么就要一直等待,直到你取完钱;
非阻塞:进程触发IO操作的时候,如果此时此时没办法读或者写,那么就先去做别的,等到有通知后,再继续读写;比如你去银行柜台取钱,人比较多,那就先领一个号,等着叫到号再去对应的窗口办理业务;这里不太恰当的是,我们等待的过程中,还得听着叫号。
总结:我要等着不能做其他事就是阻塞,我不用等可以做其他事就是异步。
到此,以上就是小编对于java语言atm的问题就介绍到这了,希望介绍关于java语言atm的2点解答对大家有用。