RSS

Posts in 2019

  • 2019-02-03 in 技术分享

    分支预测 在stackoverflow上有一个非常有名的问题:为什么处理有序数组要比非有序数组快?,可见分支预测对代码运行效率有非常大的影响。 现代CPU都支持分支预测(branch prediction)和指令流水线(instruction pipeline),这两个结合可以极大提高CPU效率。对于像简单的if跳转,CPU是可以比较好地做分支预测的。但是对于switch跳转,CPU则没有太多的办法。switch本质上是据索引,从地址数组里取地址再跳转。 要提高代码执行效率,一个重要的原则就是尽 …

    更多

  • 2019-02-02 in 技术分享

    Apache Dubbo是Alibaba开源的高性能RPC框架,在国内有非常多的用户。 Github: https://github.com/apache/dubbo 文档:http://dubbo.apache.org/zh-cn/ Arthas是Alibaba开源的应用诊断利器,9月份开源以来,Github Star数三个月超过6000。 Github: https://github.com/alibaba/arthas 文 …

    更多

  • 2019-01-26 in 技术分享

    我是一个有Dubbo情节的程序员。 Dubbo以不同方式,陪伴了我时间不长的整个代码生涯。不久前,通过社区投票,我被选举为Committer。当时我在朋友圈发了一句话,也是贯穿我从开始使用Dubbo、研究Dubbo、贡献Dubbo到最后成为Committer的全过程,一直为我提供内心无与伦比愉悦的源泉:成长这种事,能看见脚印特别幸福。 今天来个回忆杀,把我和Dubbo的那些事拿出来说说。 小白 我知道Dubbo,是在我大三翘课出去实习的时候,那个时候是无知的,我眼里最牛的人就是能熟练使用各种配 …

    更多

  • 2019-01-17 in 技术分享

    案例 用户采购商品业务,整个业务包含3个微服务: 库存服务: 扣减给定商品的库存数量。 订单服务: 根据采购请求生成订单。 账户服务: 用户账户金额扣减。 业务结构图 StorageService public interface StorageService { /** * 扣除存储数量 */ void deduct(String commodityCode, int count); } OrderService public interface OrderService { /** * …

    更多

  • 2019-01-07 in 技术分享

    近几年随着微服务化项目的崛起,逐渐成为许多公司中大型分布式系统架构的主流方式,而今天所说的 RPC 在这其中扮演着至关重要的角色。随着这段日子公司项目微服务化的演进,发现在日常开发中都在隐式或显式的使用 RPC,一些刚刚接触 RPC 的小伙伴会感觉无所适从,而一些入行多年的老手虽然使用 RPC 经验丰富,但有些对其原理也一知半解,缺乏对原理的深入理解,往往也会造成开发中的一些误用。 什么是RPC? RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程 …

    更多

  • 2019-01-07 in 技术分享

    Demo地址:http://47.91.207.147/#/service github: https://github.com/apache/dubbo-ops Dubbo Admin之前的版本过于老旧,也长期疏于维护,因此在去年年中的时候,对该项目进行了一次重构,项目结构上的变化如下: 将后端框架从webx替换成spring boot 前端采用Vue和Vuetify.js作为开发框架 移除velocity模板 集成swagger,提供api管理功能 当前版本的Dubbo Admin包含了 …

    更多

  • 2019-01-05 in 技术分享

    前言  随着瓜子业务的不断发展,系统规模在逐渐扩大,目前在瓜子的私有云上已经运行着数百个dubbo应用,上千个dubbo实例。瓜子各部门业务迅速发展,版本没有来得及统一,各个部门都有自己的用法。随着第二机房的建设,dubbo版本统一的需求变得越发迫切。几个月前,公司发生了一次与dubbo相关的生产事故,成为了公司dubbo版本升级的诱因。  接下来,我会从这次事故开始,讲讲我们这段时间所做的dubbo版本升级的历程以及dubbo后续多机房的方案。 一、Ephermal节点未及时删除导 …

    更多

Posts in 2018

  • 2018-12-10 in 技术分享

    第五届Dubbo开发者沙龙在杭州成功举办, 分享嘉宾 李鼎: 如何参与Dubbo开源社区 slides 曹胜利: Dubbo 2.7新特性介绍及演示 slides 陶杨: Dubbo在考拉的应用实践 slides 小马哥: Dubbo+Nacos服务治理重新实现 slides 赵奕豪: Sentinel:分布式服务的流量防卫兵 slides 陈志轩: 当Dubbo遇上Arthas:排查问题的实践 slides

    更多

  • 2018-11-07 in 技术分享

    Nacos 作为 Dubbo 生态系统中重要的注册中心实现,其中 dubbo-registry-nacos 则是 Dubbo 融合 Nacos 注册中心的实现。 预备工作 当您将 dubbo-registry-nacos 整合到您的 Dubbo 工程之前,请确保后台已经启动 Nacos 服务。如果您尚且不熟悉 Nacos 的基本使用的话,可先行参考 Nacos 快速入门:https://nacos.io/en-us/docs/quick-start.html。建议使用 Nacos 0.6.1 以 …

    更多

  • 2018-10-27 in 技术分享

    我们在调用Dubbo服务的时候,一般只需要将Consumer端的dubbo:reference指定成服务端中dubbo:service暴露的服务,就可以找到服务端,完成调用,也就是说,Dubbo只需要服务接口信息就可以找到服务提供者。 其实除了服务提供者以外,Dubbo也有服务分组和版本的概念,在客户端去寻找“匹配”的服务端的时候,需要服务接口,版本号,组别这三个信息都匹配,才算是一个有效的服务端: public static boolean isMatch(URL consumerUrl, …

    更多