抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

华为云区块链服务技术决策和落地实践

2019 年 1 月 18 日

华为云区块链服务技术决策和落地实践

本文整理自 BCCon 全球区块链生态技术大会上的演讲。


大家好,非常感谢大家来和我一起探索一下区块链和 BaaS 相关的情况。我今天在这里来个抛砖引玉,希望大家有些收获。因为我看到大家都会讲很多的技术,我在和大家沟通的时候,很多客户都会存在这样的困惑,区块链怎么去做,为什么要做,如何去做。我想分享一下,我们在华为参与平台落地时候的一些经历,这是一个很真实的经历。


华为云区块链服务决策和技术选型

我主要从这几块介绍,第一个是我们当时区块链的一些决策,用的什么样的技术,我们在落地的过程中为什么这么去做,这可能会带来什么样的一些价值,后面的一些场景,以及对我们未来的一些思考。



这是我在和领导汇报申请立项的时候思考的一些问题,我们为什么要去做,是不是要去做区块链。现在大家相对比较明朗一些,但是在一年前,对于华为来说,还是非常难以决策的,很多人都看不清楚。


第一,区块链能不能给华为带来真正的不管经济效益还是社会效益,或者对华为云带来引流。区块链作为价值互联网还是区块链底层的换代,可能会对我们整个云的基础结构带来比较大的变化,可能在存储、服务、硬件、软件各方面都能给整个云方面带来极大的收益。Gartner 预测到 2020 年,整个区块链会对基础设施带来 1000 亿美元以上的收益。


第二,政府的态度对我们技术选型有非常重大的影响。在去年的时候我们的确还看不清楚,因为比特币圈炒的太火,去做区块链还是有很大的风险。但是对现在来说,负面消息不是太大,我们看到了机遇。


第三,我们看区块链是不是一个风口。风口是很好,但风口能不能持续,对我们将来是非常重要的。我们站得很高,但是摔得也会很狠,但怎么判断这个东西是持久发展的,而不是一个风口,我们要看看社区的标准和整个国家的标准。从现在来看,整个标准和社区的都支持区块链的发展,我们认为区块链不只是一时的风口,是我们未来的发展趋势。


最后,任何一个技术能否得到应用,场景非常的重要。因为区块链的确具备一些很有特色的,或者颠覆性的技术,它的不可篡改性、透明共享,以及价值的可信等等,都会优化现有的市场,把原来很长的流程变得很短,提高效率并降低成本。也可以重构现有的一些市场,比如像电力市场,因为将来可能是分布式能源、分布式充电桩等等,通过区块链我们可以把这些市场做得更灵活,更高效,产生更多的价值。区块链将来在共享经济下,会产生巨大的效益,让我们更加专注在商业逻辑上的构建,能够产生一个新的 BAT,这是我对高层面的一个判断。



我们从战略上看到做区块链是非常有价值的。我们的的确确看到,很多项目为了追风口,为了区块链而区块链。项目是否适合区块链,我们基本可以从这几个面来判断:


第一,这个数据是否是大家共享,对于整个生态的建设是非常有价值的。比如说要新闻类的内容,我只是一个人提供,其他人只是去共享,这样对区块链可能没有那么大的价值。


第二,大家是否要去更新,因为大家的信息要及时去共享,在整个生态里及时地把信息传进去。第三块,真实性,比如说公益慈善这样的真实性对于它非常重要。如果我们用传统的技术,数据可以随时修改,要去佐证数据是否真实会产生巨大的成本和代价,但是通过区块链这就非常简单。


第四,去中心化,天然的商业系统就需要一个很权威的机构,需要一个中心。其他人只是辅佐的话,去中心化的价值并不是很大,但如果商业中大家地位相对平等,我们不需要以传统的方式来协调,增加成本和费用,降低效率,如果去掉,对整个系统会带来巨大的好处,这是区块链非常擅长的事情。



我们知道了项目要使用区块链,但到底是用联盟链还是公有链?


对我来说,公有链和联盟链都是非常有价值的。我个人认为,公有链还达不到一条链包打天下,现在公有链只适合于某一个专有领域,比如说数字货币,或者说一些艺术品等等,它其实只适合于交易场景相对比较简单的情况。但联盟链也存在一个问题:搭建。我们在落地的时候,发现要想把一个联盟链拉起来还是很难的一件事情。


到底选择公有链,还是联盟链,这是很难选择的。我们当时决策的时候,因为公有链有虚拟货币和激励的问题,是我们没法去碰的,无币的公有链和联盟链也差不多,我们选择只能做联盟链。我们做企业级的应用,只在联盟链里做就可以了,没有必要把这种共性放到很庞大的范围去做,对于成本是没有意义的。我们认为现阶段,企业级联盟和私有链还是一个发展的趋势。



下面就是我们要落地的场景。对我们来说,区块链很大程度在搭建、技术,以及人才上都有很大的障碍。我们都是做公共的平台,通过 BaaS 的平台降低大家对区块链使用的难度,目前来说是非常有价值的。



我们选择一种技术,对公有链来说,可选择的就是比特币、以太坊、EOS、Ripple。


比特币作为山寨币去用,大多数情况下不一定用的上。以太坊的社区生态非常好,但它的确存在速度相对比较慢的问题,它的安全隐私基本上没有。只是在 ICO 和简单的应用场景上使用,比如博彩、游戏等等。对于企业级要上以太坊还是很难的一件事情,因为安全和性能,以及交易成本是比较难以承受的。EOS 更加接近于联盟链,对 EOS 来说是有 24 个超级结点做出来的,只是每个人拥有账本,它可以说是一个混合链。Ripple 币更加专一,只做支付。


对于联盟链来说,我们当时的一个选择是自研,但建立是相当困难的,客户会绑定在某一种技术上,自研华为可能不会这样去做。另外就是选择以太坊、EOS、Hyperledger 和 corda,因为以太坊的确生态很好,但是它是为公有链而设计的,要把它改造成联盟链,在共识算法上要把挖矿机去掉,要把权限控制方面加上,把安全技术加上,这个难度很大,所以当时我们也没选择它。EOS 当时还没有成熟了,但现在我觉得 EOS 改造成联盟链的难度相对比较少,因为它的共识和控制,还是相对比较容易改造的。另外就是 Hyperledger,它本身就是为了联盟链设计的,它的各方面都已经“成熟”,它还是容易用于以太坊,缺点在于包太大,可能对于 2C 的场景,每个人创建一个节点还是很难,但是对 2B 来说还是比较适合。还有 corda,我们和 corda 进行了很多次沟通。它的确专注于在金融行业,它是一个相对不那么去中心化的系统,金融行业还是比较难在云上做区块链的。最后决定我们首先还是基于超级账本,后面可能会支持以太坊和 EOS,以及 corda。


华为云区块链服务技术架构与实践

下面看看,我们华为在这里大概做了哪些事。



我们华为主要是定位三点。


第一点,我们做企业级的平台,帮助用户非常简单和快速地使用区块链,在很容易使用的基础上,比开源更加安全稳定,在性能方面有更优的表现。


第二点,我们专注在联盟链和私有链。刚才也讲过公有链,我们暂时是不会去做的。


第三点,华为只专注于底层的技术,上面的应用,包括智能合约和业务应用,我们希望和合作伙伴,以及我们的客户一起来打造。我们专注在底层区块链的平台,区块链的安全,区块链的开发编译环境,以及底层的资源,设计一个易于使用,高可用、高性能、安全开放合作的东西。



我们架构主要是 Kubernetes 来做。为什么要用这个,对于大型的企业来说,节点会比较多,可能用其他的在动态加入,弹性伸缩,和部署的灵活性上会比较差一点。用 Kubernetes 它也有缺点,假如节点很少,用 Kubernetes 的确过重了,成本会比较高。我们通过 Kubernetes 加 Fabric 的结合,可以实现动态的成员加入,因为联盟链可能在开源里面搭建相对困难,但是通过我们的平台非常简单可以去搭建,可能一分钟就可以搞定了。


第二,因为不可能一开始并发就很高,你可以通过后面逐渐地去扩容,这点让我觉得 BaaS 是非常必要的。


还有故障的恢复,因为区块链重要的一点就是节点一定要可靠,这点是 Kubernetes 拉起来的。以及灵活的部署,我们支持几种部署的方式。


互联互通也是非常重要,为什么区块链要和云结合起来,因为云上有非常丰富的资源,各种第三方的应用、云市场、安全、编译环境、开发云等等,我们把它有效地结合起来,让用户以最低的成本,最小的代价,去实现他们区块链的应用。



在性能这块,我们做了很多工作,现在我主要介绍一下共识的机制。区块链讲的性能都是不专业的,因为现在最大的瓶颈并不是性能,是应用场景如何落地。性能这块,我们主要做的就是共识算法。共识算法分成两类,一种证明类的共识,一种投票类的共识。证明类就是怎么去证明,在一个不可信的环境,怎么让大家达成共同的一个决定。比如 PoW,我用聪明才智,以劳动来决定,谁获得记账的权利。而 PoS 是资本主义,谁有钱,谁就能决定。权威证明有点像美国的陪审团,选一些权威人士,或者能代表社区的人去做决定,这个目前应用的并不是很多,在美国用的比较多。投票类的,比如选举一个人,只考虑系统有没有问题,不考虑错误。第二种考虑错误节点,这两个投票类的会比较快。



我们下面简单讲一下,共识主要有哪些。



华为做了哪些问题,我们原来想支持三个,一个是测试用的,第二个是 Kafka,但是华为有个问题是要做红线,所有的必须要 TLS 来做,TLS 有速度提不上去的问题,这是第一个原因。第二个原因是我们认为 Kafka 只容忍 Crash 情况,还是不足以解决在企业应用过程中,假如出现黑客攻击,或者管理员去篡改的情况,就会导致整个系统崩溃了,它是错误敏感型的。


我们还是觉得拜占庭算法更适合企业级的应用。但是拜占庭的算法会有多次的广播机制,速度超过 20 个节点都会造成网络的风暴,网络的拥堵。华为对整个拜占庭开源做了很大的改动,减少整个广播的次数,通过签名加两阶段提交,综合考虑,通过多实例互相监督来保证公平性的基础上,减少像我们图上所看到的,排序的请求,各节点验证,到验证相同的结果,以及确认验证的 Commit 消息等等去减少它,可能从 N 的平方到 N 的复杂度。


这样一方面提高效率,第二降低网络风暴的拥堵。我觉得这样的速度在性能这块,大多情况是够用的,十万 TPS,百万 TPS 对我们联盟链来说意义并不是那么大,因为我们每个场景可以去拉一条链。存储将成为我们最大的瓶颈,即使你把网络性能提高上去,瓶颈上不去是没有意义的,存储的瓶颈目前是没法解决的。



第二块,就是在易用性,怎么让用户更好地使用第一个部署的模式。当然了,我们现阶段还只是在华为云上去部署,这也往往受到各位顾客的挑战,说我们是去中心化的,但是你们现在都部署在华为云上,你们就是个中心。这对广大的云厂家来说都是个最大的不理解,对于整个虚拟机都是交给用户的,我们是没有权限去控制用户的虚拟机的。这个层面来讲,放在云上,去中心化没有想象的那么可怕,不是我们去控制整个区块链,这是难以做到的。但是我们也认为,混合部署是未来的发展趋势。最重要的是,各个厂家间的区块链能够拉通起来,大家都是在同一个区块链上,大家能够共同保证整个区块链系统的公平和透明,以及它的稳健。我们希望通过和每个 BaaS 的厂家一起合作,让整个行业更快地推进起来,使区块链在全世界处在领先的地位。



我们觉得区块链很好,是不可篡改的,是透明的,是共享的,是高效的。但它问题是使用难度比较大,整个区块链存储到文件里面,存储的性能,查询的复杂度都是非常难的。


我们在思考这个问题,能不能像数据库一样去使用区块链,能不能低成本地把现在的应用系统迁移到区块链上,以及能不能支持高效复杂的查询。在目前的系统上这个回答都是否定的,肯定做不到的。


我们做的一个尝试是用 MySQL 来替换 KV 的数据库,把区块链的信息同时存到数据库中去。这样的话,我们有两种方式,第一种方式,直接用 JDBC 去连区块链,就像写一个数据库一样,可以是 insert 一个什么直接进去。我们把像一个系统链码一样,在这里面把相应的 SQL 语句转换成区块链访问的方式去做。但这个问题就存在,是可以像数据库一样去访问,但失去了区块链的最大的精华所在,就是智能合约,我们大家的规则怎么去制订。如果这样做,只是纯粹当成一个数据库来用,失去了区块链可信透明的规则制订。刚才这种情况只是用在非常简单的应用场景,就想当成一个不可篡改的数据库来用,不需要去制订互相之间的逻辑。


另外一种使用方式,还是像原来的智能合约那么去调用,但是可以在智能合约上直接通过 SQL 的语句查询区块链的信息系统,查询 Value、状态、账本的信息,还能够像数据库一样去查询区块链里面的历史记录。这样既能保证区块链强大的能力,同时又能做到像数据库一样,访问我们的区块链系统。我觉得目前是一个尝试,我们好不好用,要看用户的使用过程。



安全是将来的区块链能否得到有效发展,或者高速发展非常关键的所在。特别是联盟链,传统的安全一个也不能少。比如说主机安全,DDOS 攻击,应用安全等等,都是无法缺少的。但是在这里面,比较重点的几个点,一个是成员服务。以太坊在这点会做得比较好,它的实现起来,通过简单的公钥和私钥就能解决帐号的问题,但是在 Fabric 里面,这块的确只保证了节点,对用户的身份认证还是做得并不是很好。


下阶段可能在区块链用户的认证,成员管理,身份管理,安全的策略,以及审计要放进去,让大家很简单去使用,做成工具和模块。但现在目前还只是在做,还没有开放出来。智能合约这块,大家都知道,自从上次以太坊的安全问题导致整个分叉,以及上次空气币直接被归零,智能合约的安全受到大家非常严重的关切。因为 Fabric,用的是容器安全,即使链代码写得不好,至少不会攻击整个账本。


第二个,我们要做沙盒,也是类似的安全容器,我们要做代码的审计,以及危险的监控等等。目前成果还没有完全凸现出来,后面会在这块非常大的投入。还有就是交易的安全等等。最重要的是安全的环境,包括硬件的环境,TEE、 HSM 等等。



我先介绍一下我们目前做的国密这块,因为对国内金融行业,这是必不可少的。



第二个同态,未来互联网也好,区块链也好,这是非常关键的安全方式。因为我们现在都知道在公有链上,几乎是不设防,大家都是明文的。不是不想加,的确有苦衷,如果加了,性能会有影响。同时加密以后,智能合约是没法运行的,因为智能合约没有用户的私钥。同态加密能比较好地去解决它,既能够把信息加密,同时智能合约能够有效地把秘文和秘文相加,才能得到正确的秘文。这就非常好了,虽然不能把整个交易的过程加密,在我们交易的时候,最重要的就是交易的身份和交易的数据,如果把这两者保护起来,那整个交易是安全的。另外一个就是同态最致命的缺陷,就是性能的问题,的确现在开源的同态和央行的数字货币研究所,大概也就一到两笔每秒。


现在华为通过深度优化,能达到一百到一百二左右每秒,在一些特别重要的金融行业,这个速度已经是非常好的。但是目前只能做到加法同态,乘法和除法还是做不到的,减法是加法的相应。即使解决加密的问题,还是存在着一个问题,比如 A 给 B 转账两百块钱,如果不知道密文没法对它进行比对,如果 A 没有两百块钱,他只有一百块钱,如果没有范围证明和等式证明,这个转账就会发生了,那可能变成负一百块钱的,这个在逻辑上是非常不安全的。我们华为目前来说,范围证明和等式证明来解决范围或者安全隐私上的问题。



我们简单描述一下,什么是基于同态加密。我会有一个智能合约,跟每一个用户去生成公司钥对,A 的余额减掉两百块钱,减掉后的叫同态,通过公钥加密进去。对 B 来说,因为不知道它的密钥,那就取 B 的公钥,把 A 和 B 的转账金额算一下,然后把 A 的公钥加密的转账余额也放进去。智能合约对于这种用同一个公钥进行加密的数据,它是可以计算的。就能实现既保证隐私,同时又运算,两者兼备的能力。


华为云区块链服务的场景应用


应用场景这块,我就简单举些现在在用的。对于保险公司来说,最有价值的就是公信力,我为什么买你保险,就是因为将来你能赔付我。新型保险有非常好创新的模式,我能够让你交很少的钱,比如说互助等等,每个月就那么几十块的会员费,只要持续交十八个月,没发病的情况下,在我生病的时候,就能够获得很好的赔付。但是为什么现在国家禁止这个方向发生呢,因为它潜在的风险太高了,它没有传统大公司的这种信用,也没有传统的公司那么复杂的,或者严格的监管体系。但是这个模式太好了,我们合作公司想用区块链技术,用去信任,去中心化,不需要通过几十年的信用积累,没有这个时间也等不起,也没有钱建立那么庞大的监管体系。


通过区块链,让区块链的去中心化,把所有流转过程的参与方都作为账本的持有方。这样的话就防止工作人员去篡改数据,因为账本都在各个环节里面。同时通过智能合约让所有的流程都透明地记录到区块链里面去,这样的话,平台没有那么大责任了,工作人员没有可能去修改大家的账本。这是区块链非常典型的一点,通过技术来降低门槛,这是区块链最有价值的地方。


在我们将来的共享经济里面,只要把商业逻辑,商业规则设计好,技术或者是信用的门槛用区块链来解决。区块链为什么叫做改变现有的生产关系,就在这一点,通过技术来扫平最大的信用障碍。



这是我们第一个上线的商用系统,这非常简单时尚,但是是未来的发展趋势,可能在中国不一定适用。现在分布式能源发电非常广泛,风能,光能,生物能,小型的水电站等等,也是非常大的趋势。另外一个使用端,充电的发电桩等等,都会是分布式的,我们如果用传统的国家电网集中的方式,因为这种都是非常小型的,即使通过智能表,怎么去判断它的数据在里面是真实的等等,这是非常高的成本。在澳大利亚这种基础设施非常差的情况下,没有像中国那么庞大的国家电网在做,这种区块链对于中间的技术来保证信用,通过智能合约来自动执行,通过人工智能去分析对帐等等这样的新技术,像澳大利亚这种地广人稀的环境下,它是非常适用的。对将来更广泛的分布式能源使用机制下,区块链会在很大程度上,促使这种模式的发展。



第三是物流这块,因为环节非常的多,华为本身自己也是个非常大的物流厂家,我们有很多交换机、服务器,需要运输出去,这里面遇到很多的困难。特别是我们第一步做得 PoD,对于大型的设备,可能一个单下去就上百万,上千万,这些必须等到签收单到了以后,才能够去付相应的付款。但这个时间长度会非常的长,可能会有几个月,或者是几个礼拜,它的付款整个周期非常长。


对于物流来说,牵扯到很多的环节在里面,比如说发货、仓储、承包商,以及中间环节的传递,里面会有层层的转包到后期,转包可能不会有很好的信息系统,那很可能这个东西在它的位置下,就找不到这个记录了。现在华为这么大的体量,只有三家主要的物流承包商,因为就是担心其他的,现在有很多合格的承包商,有上万家。但是它没有很好的管理体系,我们很难把更多优秀的厂家引入到这个系统里面来。


我们也尝试过,华为自己来建一个非常庞大的中心系统,来做这个系统,但是成本极其高,别人可能不一定愿意把所有的信息全部传在华为的系统里来。我们用区块链怎么去解决,大家都用同样的、开放的代码系统,大家都建立在系统之上,华为自己开发一个这样的系统,这个系统不是我们内部自己的,我们所有的信息都是公开的,所有的规则都是通过智能合约来制订。


不管大型和小型的物流商,都可以自动获得完整的物流系统。大家都是在基于平等的基础上,我们可以放心地把每一件货物通过区块链,通过二维码把它扫到区块链里面来。这样在信息透明的基础上,任何一个货物都能够很快速地去跟踪出来,这样每个用户下载一个 App 连接到智能合约,可以给每个用户分配一个证书和私钥,这样一旦收到之后扫描进去,每个环节都会知道我的货物已经到了,马上可以启动相关的付款环节,效率会极大的提高。因为区块链大家的身份都以签名的方式,我们就可以建立这样的信用管理体系,特别对于小型的单子,通过竞价,通过信用的方式,让大家很灵活地参与物流的系统,同时也会降低我们的运输成本。假如说物流中某一个不作为,可以把它踢出去,让它永远进不到这个圈子里来。这是一个很好的尝试,是我们自己吃狗粮的,优化现有的系统来进行。


有很多的案例,今天我只是通过这三个,我觉得相对比较典型的案子来分享。


华为云区块链服务的未来思考


未来华为要做什么,华为和其他的 BAT 厂家可能不一样,华为是从云到网络,到终端都有了系统,我们当然利用自己的优势。将来区块链不光只是一个账本而已,它还是要把网络的每个环节在整个互联网做一个根本性的改变,利用边缘的技术,每一个点将来变成一个记账点,或者是一个可信的节点,让边缘计算可以把局部的,比如一个地区变成一个账本,再汇总成一个大的账本,减少统一账本带来的资源消耗和性能消耗,以及利用终端把个人所有的账本记录到我们自己的账本里面来。同时利用芯片的技术,让每个人的身份非常可靠,非常安全地记录在终端的设备里面。


将来我们要构建这样一个从云到网络,到终端三维一体的区块链端到端的解决方案,让区块链真正地融入到下一代的互联网里面,当然这不是一天能完成的,现在我们第一步做的是华为的区块链平台,最终华为应该是这样三位一体的方式,让整个区块链更加简单,更加高效,更加快速。



我刚才讲了很多,在区块链上还是存在着很多的问题,比如说共识算法、性能、安全性。特别是安全性,因为所有的规则要在智能合约实现,它的安全和高效将来是我们重点需要去研究的。对于共享账本,怎么解决账本的无限膨胀,账本的分片,账本高效的使用和查询,当然我们将来也许不一定就区块加链的方式来存储数据,我们将来既要保证不可篡改,也要保证高效存储查询等等。以及各种安全隐私,包括同态等等要得到根本性的突破,才能够使区块链能够很好地应用。以及智能合约,链上和链下,哪些数据是放链上的,哪些数据链下,链上链下都能得到不可篡改的追踪性。跨链,各种链要跨在一起,大家互联互通,最终形成现在的公有云和私有云。最终我们以区块链底层的价值为基础,实现真正信用的社会。


讲师介绍:刘再耀,华为云区块链服务产品负责人。2016 年加入华为,华为云区块链服务产品负责人,负责华为云区块链服务的总体规划,技术选型,商业设计,区块链场景落地研究等,是华为云安全架构组成员,负责华为云 paas 总体安全规划和设计工作。在区块链和云安全有深入研究和实践经验。


2019 年 1 月 18 日 17:099444

评论

发布
暂无评论
发现更多内容

理性主义和实证主义

王泰

理性主义 实证主义 哲学 软件工程

回"疫"录(2):不知者无畏

小天同学

疫情 回忆录 现实纪录

【SpringBoot】给你的 CommandLineRunner 排个序

遇见

Java Spring Boot

终极 Shell

池建强

Linux Shell

【SpringBoot】为什么我的 CommandLineRunner 不 run ?

遇见

Java Spring Boot

如何画一个闹钟

池建强

视觉笔记

我敢说 80% 的程序员都掉进了「老鼠赛跑」的陷阱

非著名程序员

读书笔记 程序员 程序人生 提升认知

Disruptor为何这么快

Rayjun

Java Disruptor

软件世界中的个人英雄与团队协作

王泰

团队管理 软件工程 团队协作

一个值得推荐的人才测量标准

Selina

程序员陪娃看绘本之启示

孙苏勇

生活 程序员人生 读书 成长 陪伴

常用手机软件清单

彭宏豪95

效率工具 App 手机 移动应用

用python爬虫保存美国农业部网站上的水果图片

遇见

Python GitHub 爬虫

关于HSTS - 强制浏览器使用HTTPS与服务器创建连接

遇见

https 安全 浏览器 TLS 证书

揭秘|为何程序员们能一直保持高收入?

丁长老

学习 程序员 写作 高薪

有关Kotlin Companion 我们需要了解到的几个知识点

王泰

Java 编程 kotlin 编程语言

软件工程的史前时代 -- Therac-25 事件

王泰

质量管理 软件工程 软件危机 软件测试

回"疫"录(1):口罩危机也许是一种进步

小天同学

疫情 回忆录 现实纪录

过滤数组中重复元素,你知道最优方案吗?

麦洛

数据结构 数组 数组去重

死磕Java并发编程(6):从源码分析清楚AQS

七哥爱编程

Java Java并发 并发编程 AQS

像经营咖啡店一样扩容 Web 系统

Rayjun

Web 扩容

死磕Java并发编程(3):volatile关键字不了解的赶紧看看

七哥爱编程

Java Java并发 volatile

【SpringBoot】为什么我的定时任务不执行?

遇见

Java Spring Boot 定时任务 debug

Facebook在用户增长到5亿时的扩容策略

Rayjun

团队管理 扩容

敏捷(组织)转型的6个准备条件

Bob Jiang

团队管理 敏捷 组织转型

dubbo-go 中如何实现路由策略功能

joe

golang Apache 开源 微服务架构 dubbo

个人知识管理精进指南

非著名程序员

学习 读书笔记 知识管理 认知提升

Nginx代理Oracle数据库连接

遇见

MySQL nginx oracle 反向代理

写作平台使用感受

小天同学

产品 体验 反馈

太慢是不行的

池建强

创业 产品

Zoom的加密算法,到底有什么问题?

范学雷

算法 编码习惯 产品设计 安全 编程语言

Study Go: From Zero to Hero

Study Go: From Zero to Hero

华为云区块链服务技术决策和落地实践-InfoQ