- 博客(164)
- 收藏
- 关注
转载 深入浅出 RPC - 深入篇
《深入篇》我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它?RPC 功能目标RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种实现结构
2015-11-17 15:29:45
2069
转载 深入浅出 RPC - 浅出篇
近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。 在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对其原理也不甚了了。 缺乏对原理层面的理解,往往也会造成开发中的一些误用。本文分上下两篇《浅出篇》和《深入篇》,其目标就是想尝试
2015-11-17 15:28:27
2109
转载 CAP理论十二年回顾:"规则"变了
CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。CAP理论主张任何基于
2012-06-11 15:23:33
4590
转载 一个牛x的mock框架--Powermock
首先,官网:http://code.google.com/p/powermock/先做好心理准备,这个开源工具的官网基本上没啥文字说明。但是可以下载源代码,里面有一些示例测试用例。 当你的领导对你说,UT的代码覆盖率要达到100%!!你会觉得这人疯了。但是现在有了powermock,100%就成为the goal you can reach!!!powermock将以往
2012-04-24 22:40:59
14369
转载 git revert 和reset的区别
这里讲一下git revert和git reset的区别:git revert 是撤销某次操作,此次操作之前的commit都会被保留git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区具体一个例子,假设有三个commit, git st:commit3: add test3.ccommit2: add test2.ccommit1: add test1.
2012-04-17 21:53:26
3645
转载 Java内存模型FAQ
什么是内存模型多核系统中,处理器一般有一层或者多层的内存缓冲区,这样的内存缓冲区通过加速数据访问(因为数据距离处理器更近)和降低共享内存总线的流量(因为本地缓冲区能够满足许多内存操作)来提高CPU性能。内存缓冲区能够提升大大提升性能,但是它们也带来了许多挑战。例如,当两个CPU同时检查相同的内存地址的时候会发生什么?在什么样的条件下它们会看到相同的值?在处理器层面,一个内存模型为:“让当前
2012-02-21 15:06:23
2318
转载 Oracle FlashBack 简介
简介Flashback数据库是一种时点(PIT)数据库恢复的方式。这种不完全的恢复策略可以用于恢复由于人为错误导致逻辑损坏的数据库。在10g中引入之后,它的设计目标就是以缩减恢复时间而获得最大的可用性。这篇文章将会探索Flashback数据库,将其与传统的恢复方法相比较,并且演示一下如何配置和执行重现恢复。传统恢复vs.重现数据库导致停机的第一个原因就是人为错误导致的逻辑损
2011-10-28 14:59:16
2128
转载 Oracle Flashback 闪回查询功能操作范例(9i and 10g)
Oracle 从 9i开始提供了基于回滚段的闪回查询(Flashback Query)功能,可用于恢复错误的DML操作。在Oracle 10g中对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误的DDL(Drop)操作、闪回表、闪回数据库等。 Oracle9i中提供闪回查询,由一个新的包DBMS_FLASH来实现。用户使用闪回查询可以及时取得误操作DML(Delet
2011-10-28 14:58:47
2031
转载 Oracle Redo and Undo
在这里会介绍UNDO,REDO是如何产生的,对TRANSACTIONS的影响,以及他们之间如何协同工作的。什么是REDO REDO记录transaction logs,分为online和archived。以恢复为目的。 比如,机器停电,那么在重起之后需要online redo logs去恢复系统到失败点。 比如,磁盘坏了,需要用archived
2011-10-28 14:55:05
2097
转载 回滚段探究
l 前言对于oracle的回滚段的分配与管理,实际上不那么复杂,当然如果我们从原理甚至从oracle internal的角度深究相关问题的话有不是一件容易的事。但对于我们普通开发人员和DBA来说,重要的是在概念上清晰,原理上了解,使用上熟悉。要做到这一点,其实并不是一件困难的事情。问题的根源在于,很少有中文文章就回滚段进行清晰的介绍和整理,而对于oracle document,能
2011-10-28 14:51:51
2158
转载 总结一致性哈希(Consistent Hashing)
在大型web应用中,缓存可算是当今的一个标准开发配置了。在大规模的缓存应用中,应运而生了分布式缓存系统。分布式缓存系统的基本原理,大家也有所耳闻。key-value如何均匀的分散到集群中?说到此,最常规的方式莫过于hash取模的方式。比如集群中可用机器适量为N,那么key值为K的的数据请求很简单的应该路由到hash(K) mod N对应的机器。的确,这种结构是简单的,也是实用的。但是在一些高速发展
2011-10-25 11:19:47
2275
转载 Return multiple values from a method
Return multiple values from a method
2010-12-27 16:23:00
609
转载 Green and native threads -- what's the difference?
Green and native threads -- what's the difference?
2010-12-27 16:21:00
1183
转载 Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
2010-12-01 22:56:00
771
转载 使用异步 I/O 大大提高应用程序的性能
Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,我们将对这个 API 概要进行介绍,并来了解一下如何使用它。
2010-10-26 14:28:00
572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人