2018年5月23日

Dubbo架构深入篇----RPC实现总结

摘要: 最近我拜读了mindwind的一片博客文章 "深入浅出 RPC 深入篇" ,希望通过Dubbo深入学习RPC架构设计,在此结合RPC架构的原理,解析Dubbo是如何实现RPC架构的。 RPC架构模型 RPC架构的主要目的是在构建分布式系统时,调用远程方法就如同调用本地方法一样方便快捷,简化开发,提高 阅读全文

posted @ 2018-05-23 07:03 滴水穿石,写自己的故事 阅读(16069) 评论(0) 推荐(1) 编辑

2018年5月9日

Dubbo源码学习总结系列七---注册中心

摘要: Dubbo注册中心是框架的核心模块,提供了服务注册发现(包括服务提供者、消费者、路由策略、覆盖规则)的功能,该功能集中体现了服务治理的特性。该模块结合Cluster模块实现了集群服务。Dubbo管理控制台查询注册的数据展现服务提供者、消费者、路由策略、覆盖规则相关信息。监控中心从注册中心订阅相关信息 阅读全文

posted @ 2018-05-09 06:00 滴水穿石,写自己的故事 阅读(3199) 评论(0) 推荐(0) 编辑

2018年5月8日

《单元测试的艺术》读书笔记

摘要: 《单元测试的艺术(第2版)》为我们介绍了单元测试的最佳实践,阅读此书后加以实践,让我能够更深入的理解单元测试的工作方法,并掌握更多单元测试相关的技能。 本书是图灵程序设计丛书,由人民邮电出版社出版,作者【以】Roy Osherove著,金迎翻译,在此感谢作者和译者。 这里我把读书笔记根据不同知识点分 阅读全文

posted @ 2018-05-08 16:00 滴水穿石,写自己的故事 阅读(425) 评论(0) 推荐(0) 编辑

《单元测试的艺术》读书笔记----测试代码的最佳实践

摘要: 测试层次和组织 1、在自动化每日构建中运行单元测试和集成测试,如使用持续集成工具自动化构建; 2、基于速度和类型布局测试: 根据运行测试所花费的时间很容易就能区分集成测试和单元测试,把集成和单元测试分开放置,放在不同的目录,指定单元测试和集成测试运行的频率。 3、确保测试时源代码管理的一部分,共同放 阅读全文

posted @ 2018-05-08 15:36 滴水穿石,写自己的故事 阅读(319) 评论(0) 推荐(0) 编辑

《单元测试的艺术》读书笔记----使用模拟对象进行交互测试

摘要: 单元测试的三种类别 1、基于返回值的测试; 测试方法返回值是否符合预期; 2、基于状态的测试; 测试方法对状态的改变是否符合预期;如测试新增修改方法。 3、交互测试; 对一个对象如何向其他对象发送消息(调用方法)的测试。如果一个特定的工作单元的最终结果是调用另一个对象,就需要进行交互测试。 模拟对象 阅读全文

posted @ 2018-05-08 06:39 滴水穿石,写自己的故事 阅读(229) 评论(0) 推荐(0) 编辑

2018年5月7日

《单元测试的艺术》读书笔记----使用存根破除依赖

摘要: 存根的定义: 被测试类中存在的一个依赖项(或协作者)的可控制的代替物。 重构代码并使用存根: 可使用的办法有: 1、创建有参数的构造函数,初始化依赖项为存根对象; 2、使用set方法给测试对象设置伪对象; 阅读全文

posted @ 2018-05-07 21:45 滴水穿石,写自己的故事 阅读(220) 评论(0) 推荐(0) 编辑

《单元测试的艺术》读书笔记----优秀单元测试的特性

摘要: 优秀的单元测试有如下特性: 1、它应该是自动化的,可重复执行; 2、很容易实现; 3、第二天还有意义; 4、任何人都能一键执行; 5、运行速度很快; 6、结果应该是稳定的,只要没有对单元测试和被测试代码修改; 7、应该能够完全控制被测试的单元; 8、应该是完全隔离的(独立于其他的测试运行); 9、他 阅读全文

posted @ 2018-05-07 21:32 滴水穿石,写自己的故事 阅读(466) 评论(0) 推荐(0) 编辑

2018年3月5日

Dubbo源码学习总结系列三 dubbo-cluster集群模块

摘要: Dubbo集群模块的目的是将集群Invokers构造一个透明的Invoker对象,其中包含了容错机制、负载均衡、目录服务(服务地址集合)、路由机制等,为RPC层提供高可用、高并发、自动发现、可治理的SOA特性。 本文我们主要讨论以下八个问题: 一、集群模块的需求功能点有哪些? 二、集群模块的总体设计 阅读全文

posted @ 2018-03-05 07:12 滴水穿石,写自己的故事 阅读(680) 评论(0) 推荐(0) 编辑

2018年3月4日

Dubbo学习源码总结系列五--集群负载均衡

摘要: Dubbo提供了哪些负载均衡机制?如何实现的? LoadBalance接口:可以看出,通过SPI机制默认为RandomLoadBalance,生成的适配器类执行select()方法。 实现类的基本类图如下所示: 0、AbstractLoadBalance是LoadBalance接口的默认实现抽象类, 阅读全文

posted @ 2018-03-04 14:43 滴水穿石,写自己的故事 阅读(606) 评论(0) 推荐(0) 编辑

Dubbo学习源码总结系列四--集群容错机制

摘要: Dubbo提供了哪些集群容错机制?如何实现的? 提供了六种集群容错机制,包括Failover(失败自动切换,尝试其他服务器)、Failfast(失败立即抛出异常)、Failsafe(失败忽略异常)、Failback(失败自动恢复,记录日志并定时重试)、Forking(并行调用多个服务,一个成功立即返 阅读全文

posted @ 2018-03-04 14:38 滴水穿石,写自己的故事 阅读(5643) 评论(0) 推荐(0) 编辑

导航