京东 架构师能做到多少岁6 40岁还有人要么?

京东云平台总架构师、系统技术部负责人刘海锋:从,大规模内存数据库演进之路
发表于 16:20|
作者唐小引
摘要:京东云平台总架构师、系统技术部负责人刘海锋带来“大规模内存数据库JIMDB:从”主题演讲。JIMDB基于redis,以内存为中心的数据存储,其底层技术研发包括了存储引擎、复制协议、分片策略三部分。
【CSDN现场报道】-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,以“数据安全、深度分析、行业应用”为主题的
2015中国大数据技术大会 (Big Data Technology Conference 2015,BDTC 2015)在北京新云南皇冠假日酒店盛大开幕。
2015中国大数据技术大会首日全体会议中,京东云平台总架构师、系统技术部负责人刘海锋带来了名为“大规模内存数据库JIMDB:从”的主题演讲。“Memory is the new disk”,JIMDB基于redis,以内存为中心的数据存储,其底层技术研发包括了存储引擎(Dict、LSM with RAM-SSD hybrid、B+Tree)、复制协议(async、sync等)、分片策略(Hash、Range)三个部分。过去两年,JIMDB一直持续建设,拥有着数千台大内存机器,多个数据中心,1000+线上集群,支撑了京东几乎所有的业务。
京东云平台总架构师、系统技术部负责人 刘海锋
以下为演讲实录
刘海锋:各位同行朋友,大家下午好!非常高兴来到BDTC跟大家做交流。我今天要给大家分享的是大规模的以内存为中心的新型数据库——JIMDB,包括它过去两年的历程、技术脉络以及是怎么支撑起京东的典型电商业务。刚才Databricks公司联合创始人、Spark首席架构师辛湜分享了,它是以内存为中心的分布式计算系统,到Spark最关心的创新是以磁盘为中心演进至以内存计算为中心,从计算领域是这样。而从我个人角度也非常坚信,存储依然会有这样的趋势。这个观点是过去两年工作中,和我的团队在实践中得到的很深刻的体会。今天在这里做个简单分享,希望对大家有参考价值。电商不仅仅是大数据驱动的,我们用大数据为用户、商品等带来运营效率的提升。同时,从在线的数据访问来讲,电商业务需要非常快速的数据访问。大家可以看到,我们随便打开京东首页或类似的电商首页,图片是我们的资产,是商品形象的描述,可以用CDN加速。除了图片之外,其他几乎都是动态内容,量很大,且是频繁被改写的,它们需要非常快速的访问,比如说商品的详情、价格、品类下推荐的结果等许多内容,打开个商品详情页面或列表页,后台逻辑是很复杂的,需要非常多的数据去展现。这个过程中,一个是快速的数据访问对终端用户的体验有非常关键的影响。另外,从我们产品工程师开发的产品角度出发,另一个诉求就是关注业务逻辑,而不应该花时间优化后台在线存储的性能。Jim Gray是数据库领域的泰斗级人物,他其中一句话我记得很清楚,即“Memory is the new disk(内存是新的磁盘)”。07、08年时我们买的内存大小标准配置是4G左右,很快4G、8G、16G一路下来,很多公司都会采购158、265G内存,估计明年都会用1T内存。我们都用265G内存加万兆网卡来做,单机内存在快速变大,整体很多在线的小结构和半结构化数据存放在内存里,这个问题是不大的,也是非常合理的。而且用内存做在线存储确实有弊端,就是成本在一个时间段内有些偏高,但是除此之外却带来很多性能、管理等各方面的便捷性,两相权衡下,在一定程度上,成本的升高对有一定规模和业务比较重要的公司可以接受,而且我们可以用技术手段降低这个成本。JIMDB的全称为The Jingdong In-Memory Database,这个系统的名字是我在大概2014年初起的,它并不是严格的关系型数据库,而是一种新型的,以内存为中心的全部托管、全管理服务化的数据库。它是以内存为中心的数据存储,主要针对在线的结构或半结构化的数据,过去两年一直在持续建设。从目前的业务价值角度,它支撑了京东几乎所有的在线业务。除图片之外,几乎所有的动态内容都被它所服务,或者严格来说,图片的有些信息也用它来存储。越来越呈现一个趋势,就是我们更多地用它来做主存储,MySQL或者DataBase会进行归档。接下来我从技术角度做个简单介绍。JIMDB基于redis,redis是一个非常优秀的开源软件,它做对了两个事情。第一,它是基于内存的,简单且高性能;第二,也是基于内存,它提供了非常丰富的数据类型和数据结构。对许多互联网公司来说非常方便,比如商品的详情、属性等,非常便捷。两年前,我们为了解决它的痛点,因为之前的监控系统已不能满足我们的业务需求,便不断演进,一路做下来。Build a distributed system它是相对分散的分布式系统,有许多分支、模块,不同模块做不同的事情。从用户(业务的开发人员)的角度,给他们提供Java、C driver,其他小众语言是给他们提供代理,完全兼容但是不限于RAM servers 。对于任何一个业务都给它集群,所有集群都在我们的物理资源池上。我们这个团队的核心任务是做一套复杂的平台,一套健壮的分布式系统,管理目前大概四五千台大内存机器,为众多业务提供可靠的、性能稳定的、数据有持久性保证的高可用服务。这个系统从部署结构来讲,是单个物理服务器、多实力的结构,任何大内存物理servers上都会部署多个内存,好处是便于流量监控等,但是给业务和监控带来很多复杂性。对行业来说目前还是比较合理,故障的检测与切换,扩容的管理、升级、监控等都是独立的模块。存储的servers是复用原来redis网络编程的框架,但是复制的协议、存储的引擎等各方面都是自己来开发。在此列举几个技术点。第一,怎么做故障切换?分布式系统要解决的第一个问题是怎么处理故障。故障是个很严肃的事情,并不能简单说有一个进程有一个servers不通了就是故障,会发生网络不稳定等等,各个方面都有可能。在一个或多个数据中心有若干个故障检测器,当多数人认为它故障并且没有人认为它健康时,才能定位确实故障。发给故障的控制器做下一步事情,重新触发新的配置,改变集群的拓扑。所以故障的检测和自动的Failover是2014年做的第一个事情,把故障自动化,这个事情说起来简单,其实是最基础和最重要的,因为整个过程分很多步骤,前一段时间还出现过Bug。第二个关键问题是任何一个逻辑的集群、业务数据量会增长、变化,所以必须支持在线、动态、重新的分片,或者说重新的Sharding,这个Sharding核心思想不是简单把集群分片,中间要加一个抽象,才能进行动态的重新分片。对于这个策略来说,中间加一个bucket的抽象,然后来进行管理。迁移的过程是通过复制来做的,学术界或工程界喜欢管它叫“Partial replication”。举例来说,原来是3个分片,现在怎么变成4个分片?通过调度算法,决策把哪些分片中的bucket迁移到这里,迁移是通过复制来做的,建一个复制关系,但是这个复制关系并不是复制它原来所有的数据,所以要求复制协议的实现是要做特殊的事情,只要这一个区间的复制,复制全部完成之后更改拓扑,最后生效,这可以做并行的Partial replication做迁移。从数据的可靠性保证比较高,技术也比较简单和传统。过去两年从底层技术研发分三个方面一步步演进做了些事情,从存储引擎的角度,用的最多的是这个,第二个存储引擎是LSM,我们用RAM+SSD做混合的两级存储,这三种不是取代的关系,而是互为补充。第二种更多应用的场景,是有些东西比较大,我们可以把这个放在SSD上,把K依然放在RAM里,这样可以适当的节省成本,目前第二类线上已经有百分之十几的用量,但是数据量要乘四五倍,因为每台机器单机容量更大。第三类是B+TREE,可以排序,可以支持按范围查找和便利,这个线上用得不是特别多,我们只支持有需要按范围、需要便利查询的场景。复制协议更加关键,因为对于存储来说最核心的是复制,除了异步复制就是同步复制,我们上半年做了状态机的复制。分片策略我们用哈希最多,因为哈希最简单,业务更多时候需要单K去查询,有些业务需要按范围,我们支持Range。这三个方面技术可以做合理的按业务场景组合,满足不同的业务需求,比如业务更多是用Dict+异步复制+哈希分片策略,比较大的是RAM+SSD两级存储,然后配合其他的策略。从业务使用场景角度,我们是分而治之,不同的软件、不同的集群,根据业务的需要,可以分成这么两大类。不少业务是做纯缓存,后台还有数据库和其他存储,我们更多是用异步复制或者不复制,哈希的分片,可以做LUR的淘汰。但是线上也有将近一半左右的集群,他们不仅仅用这个东西做缓存,他们做持久存储,我们有更高的可靠性保证,一般用来开启同步或者状态机的复制,然后用范围或哈希分片,而且对它的快照做定时备份,备份到内部对象存储上去。对任何一个系统来说,底层的基础技术研发仅仅是它的一个环节,当系统达到一定规模之后,更多工作会放在监控和运维体系的建设方面。整个平台我们有比较完善的监控体系,这更多是数据驱动的,从各个方面,连接树、网络入出流量等等,产生很多时间序列进行分析、预警,并且驱动各种控制器做决策。比如有的分片存的数据因为是个华为的手机,它太热了,我们就可以把它做分列,很多时候做扩容做分列并不是因为容量,而是因为数据的热度。数据监控也存在这个系统里做快速的展现。基于容器的自动化运维,因为我刚才说过,整个系统规模比较大,有几千台机器,而且每台机器上部署很多的存储节点,所以运维的复杂性比较高。在整个2013年更多是依靠手工的运维,怎么样选机器,怎么样部署,运维工作量极大,在2014年下半年和2015年上半年,我们花了很长时间做全自动化运维的平台,它是基于Docker,简单来说是大的Linux大内存服务器上上面有很多Docker,每个进程是Docker实例,用Docker软件管理版本,智能做机器的选择,做定期的软件升级,各个方面很多工作。这个平台通过容器技术也在这里面有所发挥。说一说规模吧,因为对于任何一个底层系统建设来说,它核心的价值只有一定规模、真实驱动业务才能有收获力。线上我们有多个数据中心,有几千台大内存机器,都需要跨数据中心的复制,有的基于容灾的考虑,比如不同的机房有不同的规则,有可能跨机房做异步复制,有可能同步,预计明年有512G内存或者1T内存机器的采购。线上支持了1000多个线上的业务,每个应用相当于一个逻辑的集群。从运维角度来说,这么多台机器里面有大概3万多Docker的实例。内存存储带来什么?花了很多内存片、内存条,带来了极佳的性能、非常稳定的性能,这是我们线上某一个比较重要的集群,在双十一期间可以看到它整体的QPS超过200多万,是非常稳定的,99%的请求都在2毫秒之内返回,这个让用户体验更好,让我们的业务开发起来更加简单,让公司运维团队更加省心、更加轻松。内存存储考虑的一个主要因素是,内存可以花钱买,但是不能因为软件因素再去浪费内存,内存存储是分出来的,线上很多集群比较夸张、比较大,可能因为它使用场景比较特殊,才产生了碎片。但是整个分布来说,我们也做一些优化的工作,从内存分布器选择来看,主要的集群内存碎片率基本在1.1-1.3左右。我个人工程上的经验来说,这是非常好的内存分配器,内存分配器自行开发意义很小。正在做的事情比较多,优先级比较高的是让它更稳定更好的运维,除此之外进一步提升性能,通过软件硬件协同创新,引入更大、更便宜的内存、更快的网卡,考虑重新实现用户的网络协议加速小包的处理性能。Linux网络协议站不是为数据中心高速的网络、高速的在线应用而设计,每一次包都要中断,对于大包是合理的,对于小包是不划算的,这样的存储性能更多的是小包处理,我们在考虑重写用户协议,来加速小包处理的性能。在功能方面我们也在做个事情,这更多是工作量的事情,考虑从NoSQL支持SQL接口,因为底层有了横向扩张、灵活复制的内存里的数据结构的存储。通过JAVA等等提供,这是工作量的问题而已。另外,希望在某种程度上降低成本,因为平台化第一步是求规模稳定,让它有很好的性能和效率的保证,第二是从整体来说能降低成本,比大家分散、自由去用更省钱。基本的想法是这样的,目前是专署集群,我们希望从专署集群过渡到聚合各个IDC的RAM资源,比如说我们私有云机器去分容器、去分虚拟机,很多时候CPU是瓶颈,分完了内存有剩余,非结构化机器磁盘是瓶颈,磁盘或SSD被分完了但内存有空余,我们聚合整个RAM资源,让数据动态流动、去降低成本。简单的跟大家交流这些,总结下来,我个人非常认同“内存是存储的未来”,特别是对结构化的、海量的、小的、需要快速访问的数据。从工程上来说,是“一件事,分布做,持续做”。谢谢大家!
更多精彩内容,请关注直播专题,新浪微博,订阅CSDN大数据微信号。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章专访京东架构师:海量数据的IT架构演变
 作者: 皮皮 编辑:
  【IT168 专稿】最近前有支付宝电缆被挖断,后有携程网瘫痪、股市还暴跌320点,有网友感叹说,在这个世界里,再牛的互联网公司,都干不过蓝翔技校的挖掘机……”“什么互 联网+,什么4.0,什么大数据”,都顶不住传统行业一铲子,听起来让人倍感悲凉,可该网购的还得网购,话说京东也即将迎来618促销大战了,怎么顺利迎 战呢?京东在电子商务市场深耕多年了,终于挤进了全球PB级数据管理俱乐部,与Facebook、淘宝并驾齐驱。面对如此海量级别的图片数据,京东又该如何应对呢?本期IT名人堂皮皮邀请到了京东商城资深架构师桂创华。  ▲京东商城云平台系统技术部高级架构师 桂创华  皮皮(Q1):您好!很高兴有机会采访到您!有人觉得架构师是个很高大上的职业,从微软到现任京东资深架构师,您的职业生涯经历了哪些转变?您觉得作为一名架构师,需要具备哪些能力?  桂创华(A1):大 家好,我是在2010年加入微软,那时候刚从学校出来,用现在流行一点的话说,还是一个标准的小鲜肉。记得刚加入的时候,微软已经有了很成熟的体系架构, 我们可以充分享受各种基础软件带来的便利,会把更多的精力投入到一些工具和算法的研究上,从而提升用户的搜索体验和准确率。来京东后,我做的事情更底层一 些,近两年来一直在做京东自主研发的分布式存储平台JFS,支撑了京东大大小小几百个业务数据的存储。  个人觉得,架构师说到底,也就是工作经验更为丰富一些的码农了。我觉得好的架构师首先要有丰富的理论知识,并能够将之付诸实践。此外,架构师还要有前瞻性,对业内前沿技术有较深的了解,能做到有的放矢选择方案。  皮皮(Q2):企 业的IT架构不是一层不变的,随着业务的发展,应用服务器(比如网站、后台、邮件等)、数据库和反向代理、计算集群(文件存储、图片)等都会面临着新的挑 战,能不能和我们谈谈京东商城的IT架构,尤其是从传统数据处理到大数据处理过程中,京东商城的IT架构是如何演变的?  桂创华(A2):这 个问题很大。总体来讲,京东的技术架构也是经过了几代的发展,最初的时候,为了支撑京东早期的快速发展,京东技术架构开始从集中式系统向简单分布式系统演 化。而到了2009年,为了支撑百万到千万级的订单量增长,京东技术架构进入了SOA化阶段。四年以后,随着业务快速发展,京东技术迈入了云和大数据时 代,于是乎催生了我们自主研发的京东分布式文件系统JFS,JFS的集群规模超过千台,存储了PB级别的数据;企业级NoSQL服务JIMDB,服务了公 司上千个业务;消息队列系统JMQ,日均消费消息过百亿;私有云服务JDOS,托管调度了公司的各类业务;基于SOA的服务治理平台JSF等等。  皮皮(Q3):数据库市场近年来群雄逐鹿,异军突起。有Oracle为代表的传统的关系型数据库,也有大数据时代下红极一时的NoSQL数据比如MongoDB与Redis,还有在SQL与NoSQL之间游离需求平衡的NewSQL数据库。京东商城用到的数据库是什么?  桂创华(A3):根据业务不同的需求,我们都有在用,结构化数据存储主要以Mysql为主。NoSQL最初很多业务在用Redis,但随着规模的持续增长,在使用过程中出现 了不少痛点,即使是非促销日,京东的订单数字也能达到数亿,几十亿商品图片及其缩略图的存储给京东带来了极大的挑战。此前,京东一直是采用HDFS作为数 据存储子系统,但是专为大文件而设计的HDFS显然无法有效处理大量小文件,同时还对Hadoop的扩展性和性能造成了不良影响。  针对电商业务中海量小文件、大文件等数据分布式存储与管理的实际需求,京东从2013年7月便开始着手自主研发分布式文件系统JFS(即Jingdong Filesystem),以及分布式的缓存与高速键值存储服务JIMDB,目前已经取得了阶段性的成果,JIMDB集群达到了千台以上,支持了公司的上千 个业务。  皮皮(Q4):传统的关系型数据库价格昂贵,没法按需扩容,只能定期删除数据,很麻烦。开源存储系统虽然便宜,但难以选型、定制和维护。坐拥几亿级数据的京东,面对几十亿商品图片所带来的存储压力,该如何应对?  桂创华(A4):对, 其实不仅仅是图片,还有商品订单、库存记录等等,这些数据有几个特点:第一、单条记录都不大,几k到几十k字节。第二、总量大,比如库房记录、商品订单等 等,每天就可能产生数千万条。第三、在线数据为主,要求提供实时在线大并发访问。最初,各个业务使用的也不尽相同,有些使用结构化存储,有些则使用一些开 源的文件系统。但随着京东业务的飞速发展,数据量成倍增长,之前的架构都遇上了各种各样的问题。所以我们决定研发自己的分布式存储平台JFS,JFS紧扣 业务需要,针对这些小文件,我们设计了一套基于Paxos算法变体、强一致复制、高速、可靠的系统。  皮皮(Q5):谈到小文件,很多人会觉得这是一个相对大文件的概念,像京东大量的商品订单、商品图片、库房记录等,这些数据都可以称之为小文件,原来是存放在HDFS的存储系统里,但后来京东自主研发了文件系统JFS,到底遇到了哪些瓶颈?这两种有啥不同呢?  桂创华(A5):HDFS 是很多公司离线大数据的首选,前面也提到过,京东有海量的小于1MB的在线数据,这些对HDFS的扩展性和性能会带来严重的影响。我们需要一个同时支持离 线和在线大小文件的分布式存储平台,因而自主研发了JFS。JFS将用户上传的小文件合并成一个大文件存储,以避免海量的小碎文件给存储节点的系统带来沉 重的负担。而对大文件才采取分块存储,提高大文件并行读取的性能。元数据存储方面,海量的小文件元数据很容易就把内存吃掉,所以我们设计了二级结构来存储 元数据。在数据存放方面,不同HDFS需要记录每一个block位于哪几台机器上,我们将磁盘划分为若干个volume,同时固定volume复制关系, 这样我们可以在block命名中编码存放的位置信息,避免了大量的block名到存放位置的映射存储。  皮皮(Q6):在 网络零售市场深耕近十年之后,京东也正式迈入了PB级数据管理的新时代,面对海量数据的压力,京东在IT架构上分布了多个集群,比如图片、订单、仓库流 水、内部云存储、公有云存储系统集群,可能达到了千台规模以上了?能不能和我们讲讲这些分布式集群,从底层的硬件到上层的应用,如此庞大规模的集群是如何 实现分布式集群管理的?  桂创华(A6):其 实是一个物理集群,只不过按照业务逻辑上划分出来了图片、订单、仓位流水等。JFS经过了持续两年、多个版本的迭代才达到今天的千台机器、PB级别数据规 模。在底层硬件上,针对京东不用的应用场景,JFS管理了两种不同的设备。针对小文件实时、高并发、随机读较多的特点,我们选取了高转速的sas盘存储。 而针对离线数据为主的大文件,则采取大硬盘sata盘节约成本。JFS主要由数据存储和元数据存储两部分构成。数据存储模块负责将用户的数据多备份均匀分 布到集群中,并负责数据的存活检测、故障修复等。元数据存储模块则负责命名空间管理、文件映射关系管理、读写控制等等。在外围方面,我们还配套以完善的监 控管理、自动升级和自动部署工具,通过这几个模块的紧密协作,完成整个集群的分布式管理。  话题讨论传送门:http://www.itpub.net/thread--1.html
IT168企业级
扫一扫关注
行车视线文章推荐BOSS直聘验证码
为了您的账号安全,我们需要在执行操作之前验证您的身份,请输入验证码。想了解基础的中国软件开发者用户画像吗?想了解一线城市开发者的薪酬吗?想了解大多数开发者偏爱的编程语言吗?想了解高薪开发者从事的都是什么岗位吗?想了解最新的业界技术趋势吗?......本文带你一探究竟。中国软件开发者白皮书是基于一年一度的CSDN软件开发者大调查数据分析结果形成的。CSDN最早从2004年开始,对开发人员、开发技术以及开发工具、平台的状况和发展趋势等进行深入调研,它是各相关行业了解中国软件开发者群体以及软件开发服务领域市场的重要参考资料。2017年中国软件开发者大调查针对软件开发技术、应用开发领域等方面对调查问卷进行了重新设计,同时还新增加了区块链、物联网等新兴软件开发领域的相关调查,更能体现中国IT业、尤其是软件开发领域的发展现状。30岁以下开发者占比超7成,近半数开发者奋斗在一线城市通过对47个行业、200多个地区的上万名软件开发者进行调查,可以发现开发者群体年轻化比例在持续增高。和国外开发者年龄分布趋势大概一致,国内的软件开发者群体一直呈现出年轻化的特点。从我们2015年到2017年的调研数据来看, 30岁以下的开发者人群占比都在7成以上,一直是软件开发领域的主力军。其中,30岁以上的开发者以高级工程师、项目经理、架构师、技术专家等职位居多,而40岁以上的开发者则是从事架构设计岗位的比例最高&&互联网、软件、IT服务三个技术领域已经涵盖了国内65%以上的开发者。在开发者薪资方面,开发者仍是当之无愧的高薪人群。月薪在1万元以上的开发者占总体数量的59%,较去年又上升了14个百分点。在北、上、广、深以及天津等一线城市中,月薪过万的软件开发者占比71%,该比例远高于国内其它城市,但其他城市月入过万的开发者也出现了较大幅度的增长。此外通过数据交叉对比分析可以发现,8成架构设计师月薪过万,超3成的架构师平均月薪超过2万元&&架构师一职成了高薪开发者追求的香饽饽。6成开发者每周学习6小时以上,9成关注信息技术类网站开发者对新技术的追求是十分敏锐的,信息技术类网站就是他们了解行业动态和学习知识的主要渠道。通过调研发现,超9成开发者计划通过学习新技术来提升自己的事业,且6成开发者每周学习6小时以上。在本次调研中,90%的开发者会通过技术媒体、技术社区、技术论坛等网站了解行业最新动态、获取新知识。阅读技术类书籍也是开发者进行系统性学习的主要方式,比例占到54%。在其他学习方式上,74%的人群愿意通过购买图书杂志方式进行学习,超5成人员愿意为线上课程付费。目前,时长越短的线上培训越受欢迎,500元以下且周期1个月以内的线上培训接受率超过5成。不过愿为线下培训付费的仅占39%,周期长、耗时多是重要的因素。而且据调查,35%的开发者未来半年都有培训计划。但是其中,超过8成的开发者参加培训的预算是来自个人,来自单位的仅占17%。在开发者感兴趣的培训方向上,63%的开发者偏爱人工智能,56%对大数据/云计算感兴趣,想要参加区块链培训的人数仅占15%。7成开发者使用Java,6成开发者最想学Python编程语言之争是开发者永不厌倦的话题。在本次调查中,Java、R和JavaScript成为开发者最多使用的编程语言。Python则是开发者近期最想学的开发语言,其次是Java和R。Java虽然是老牌语言,但它一直在持续更新优化,且具备完善的生态和广泛的使用场景,使其依然非常有生命力。而且随着人工智能发展的火热,也成为促进Python语言应用的催化剂。此外,6成以上开发者在使用Windows操作系统,13%在使用Linux操作系统。63%的开发者在使用MySQL数据库,34%的在使用Oracle数据库。传统的X86机器相对Mac机器,最大的优势就是价格低,因此在公司开发普及层面会占据一定的优势。Linux在GUI、软件生态等方面相对Windows有不少的短板,因此Window会成为开发者的首选操作系统。开发者的云/容器使用率不高,使用最普遍的Docker(Swarm)普及率也仅11%。在文本编辑器方面,Notepad++较为流行,57%的开发者使用了Notepad++,其次是Sublime Text,29%的开发者在使用 。Frameworks方面,jQuery、Spring Framework较受欢迎,3成以上开发者在使用这两者。在开发微服务架构中使用Java作为开发语言,那么开发框架使用Spring Framework往往是首选。在前端的世界里,jQuery由于简单、易用,在项目过程中往往能够较好满足需求,使得其一直很坚挺。大数据技术应用开始普及,但应用场景相对单一本次调研数据显示,78%的企业在进行大数据相关的开发和应用。这个比例与2015年、2016 相比,有了非常大的提升。此外,随着云计算技术的成熟及广泛应用和出于对数据安全性的考虑,在大数据平台构建方式上,2017年有4成企业选择私有云解决方案来部署大数据应用。大数据时代,大数据所蕴含的价值已经毋庸置疑,然而许多企业却不知道如何获取大数据的价值、如何让大数据应用落地。目前大约57%的企业对大数据的应用更多仍体现在统计分析、报表及数据可视化上。不过,Spark、Redis和Kafka已经基本成为了企业大数据平台通用技术组件。其中,Spark是企业大数据平台中使用最普遍的组件,Redis和Kafka则是最普遍使用的消息队列和数据采集技术组件。超7成企业利用云平台已经开发应用或正在开发应用云计算已经相当普及。调研数据显示,有83%的企业正在使用云服务,相较2016年有非常大的提升。仅有不到1成左右的企业对云计算平台基本不了解或者无意使用,75%的企业利用云平台已经开发应用或正在开发应用。在当前的国内公有云平台市场中,阿里云服务以64%的使用率遥遥领先于其他云服务厂商,排在首位。其次是云服务,使用率为14%。在具体应用上,企业在虚拟机、网络存储、负载均衡方面应用云计算较为普遍,使用率分别是48%、39%、33%。此外,基于Docker或OpenStack是当前云平台部署的两种主流框架。不过,安全问题仍是企业选择公有云服务时最大的顾虑,也是进行云技术相关开发时的最大难题。由于成熟的传统安全方案并不能直接套用到云环境中,企业在部署私有云平台时如何设计和实施安全方案,企业在使用公有云时如何确信服务商对数据做了足够的安全保护......随着云技术得到越来越广泛的应用,这些都是云厂商和服务商未来必须直面的问题。区块链技术刚刚兴起,仅1成开发者有应用或准备应用区块链作为近年来兴起的技术,当前应用相对较少。调查显示,正在用或者准备用区块链技术解决技术问题的人群仅占受访者的10%,有20%的人对区块链完全不了解。现阶段,区块链从技术上讲还是属于后端架构类,因此迄今为止从事过与区块链技术相关的开发工作的人员,也都是这个领域的从业者。其他方向,如:测试、UI/UE、数据分析等,则由于系统形态和行业渗透度的原因,最多只做到听说/了解过这项技术的程度,在日常工作中都很难直接参与。比特币和以太坊是当前两种主流的区块链开发平台。据调查,开发者正在使用的区块链平台中,比特币和以太坊分别占23%、17%。Python和Java则是区块链的主流开发语言,分别占19%、18%。在核心应用的开发中,Java使用更为普遍,占39%,Python其次,占28%。从核心开发者的角度看,应用开发仍然是Java为主。因为即使开发区块链相关应用,仍然会有很大一部分在传统技术栈上。对于目前的区块链技术来说,缺少开发经验、技术资料以及落地的应用和场景是当前区块链开发的主要挑战,此次调研中分别占56%、54%、50%。不过,区块链与大数据、云计算、物联网行业的结合普遍被看好,分别占63%、57%、53%。超7成开发者表示会考虑1年内会进入区块链行业。人工智能技术受到热烈关注,应用前景广阔但任重道远当前AI/机器学习/深度学习的普及率还偏低,但发展潜力很大。本次调研数据显示,已经使用AI技术的开发者仅占15%。不过,40%表示正在尝试用AI/机器学习/深度学习来处理数据,只有25%的开发者表示完全没有人用过。在技术应用方面,TensorFlow是人工智能领域主流深度学习框架,使用普及率达到48%。此外,传统机器学习方法在开发者中的使用量接近2/3。而CNN类、RNN类深度学习模型也同样火热。而随着人工智能的火爆,对机器学习/深度学习算法、数据分析的岗位需求也越来越大。调查显示,目前机器学习/深度学习算法工程师、数据科学家/数据分析师/数据挖掘工程师岗位从业人员更多,分别占18%、17%。然而最急缺的岗位也是机器学习/深度学习算法工程师、数据科学家/数据分析师/数据挖掘工程师岗位。58%的开发者表示其团队急缺机器学习/深度学习算法工程师,45%表示急缺数据科学家/数据分析师/数据挖掘工程师岗位。这种势头下,各种人工智能相关培训也是风生水起。但是调查显示,开发者更愿意通过自学的方式学习AI/机器学习/深度学习技术,占比68%。还有接近四成的开发者是通过在工作中实践、线上培训课程等途径来学习AI技术的。本文内容来源于,版权属于CSDN。完整报告获取链接:。
24小时报不停
数字资产交易平台Bibox和火币互上平台币
百度IDL杰出科学家徐伟宣布离职,加盟地平线
中国三大运营商牵头成立区块链组织
火币确认蔡凯龙离职:从0到1扩展国际业务
2亿多用户的美丽联合集团递交IPO招股书
工信部:截至6月末移动电话用户突破15亿户,同比增10.1%
Verizon寻求与谷歌或苹果合作,提供超高速5G电视服务
物联网洗护服务平台轻氧A+轮融资,海尔、58领投
小米回应推荐P2P暴雷:已下线所有P2P广告
O2O蛋糕品牌「幸福西饼」完成4亿人民币B轮融资
六部门将出台文件加强网络直播管理
熊猫直播确认近期有资本动作,交易方不是斗鱼虎牙
搬家公司起诉58索赔40万,称其恶意收集自己客户信息
谷歌牵手创企,希望将区块链技术引入云服务
第二批虚拟运营商正式商用牌照或将于下月发放
工信部:预计将有7.8亿户受惠于取消流量“漫游”费
长生生物:公司被立案调查,生产经营活动受到严重影响
工业和信息化部:希望和世界各国半导体企业密切合作
ofo小黄车开启新一轮补贴战,推出半价年卡
华帝公布“退全款”进展:线上退卡,线下退款2087万
“媒体训练营”一审被判赔偿人人车30万余元并道歉
中金:预计中国铁塔2018年营收693亿元,同比增1%
三星澄清未与币圈的CopPay展开支付合作
北汽麦格纳合资公司或为滴滴、奇点生产汽车
欧盟发布保护云数据个人隐私技术成果
高通驳斥韩国监管机构说法 否认不公正获利
腾讯云异常宕机故障,称运营商光缆中断所致
饿了么CEO:本季度将花费30亿人民币与美团竞争
新加坡iTunes出现欺诈交易,多名用户信用卡被盗刷
无人驾驶位置服务商 Wayz.ai完成近八千万美元A轮融资
游戏娱乐公司“是大腿工作室”宣布完成千万级Pre-A轮融资
国家队入场,全域医疗获7亿元B轮融资
杰睿教育获1.3亿元A轮融资,真格教育基金领投
创世伙伴资本新一期近2亿美元基金募集完成
特斯拉澄清:要求供应商退款降价,是为了长期现金流
NASA准备发射新太阳探测器,将抵达迄今距太阳最近处
G20希望IT巨头根据获利所在地交税
Pinterest广告营收或近10亿美元:估值最高150亿美元
谷歌广告收入强劲盖过欧盟天价罚单,盘后大涨6%
中国智能手机取代苹果,首夺俄罗斯线上销售冠军
中国铁塔入场费3192港元,拟融资至多681亿港元
特朗普再次对亚马逊“开炮” ,指责其利用了美国邮政总局
高通并购恩智浦将迎大结局,能否通过存多重不确定性
谷歌母公司发布第二季度财报,股价创52周新高
云业务致Alphabet第二季度资本支出同比翻番
阿里巴巴与AI创业公司Megvii进行一轮融资
美媒:中国投资在以色列“相当受欢迎”
快手正进行新一轮10亿美元融资,投后估值在180亿美元
北京将新设跨境电商综合试验区
传哈罗单车将完成10亿美元融资 官方:不予置评
传王思聪的熊猫直播拟作价30亿元寻求买手
长生生物暴雷前出现密集大宗交易 3亿神秘资金出逃
任志强:我不觉得房地产会崩盘
小米上市后首次任命高管
摩拜单车免扫码解锁功能上线
手机“靠一靠”无需扫码即可开锁
海澜之家宣布入驻美团外卖,承诺一小时达
小米正式发布米家互联网空调,售价2199元
长生生物:积极配合药品监管部门对生产、质控体系开展全面自查
人社部:截至6月,3716.5亿养老金已到账并开始投资
工信部向阿里巴巴、小米等15家企业发放虚拟运营商正式牌照
与美国意见相反,欧洲在G20上敦促征收数字经济税
拼多多被指强制冻结商家资金 罚款去向成谜
纽约判定Uber司机为正式员工 享受失业福利
京东方争取为苹果供应OLED显示屏:2020年达到目标
理享家再获千万美金战略投资,启动香港上市成为海外资产配置第一股
上海璞灏科技完成近千万天使轮融资,主打时尚潮流生活
特斯拉要求供应商返还现金助其盈利 引发现金流担忧
长生生物官网被黑客攻击
Snap关停支付服务:支付App竞争太激烈 Snap难以出头
法国科技公司Atos SE将收购Syntel 每股作价41美元
软银计划年底在日本启动支付业务:与印度Paytm合作
袁隆平团队在迪拜成功试种“沙漠海水稻”
美国参议院放弃制裁中兴修正案 但禁美政府采购
SapceX火箭再次发射升空 第26次成功回收助推器
大规模商业机密泄露,通用、福特、特斯拉等百家汽车制造商中招}

我要回帖

更多关于 软件架构师能干到多少岁6 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信