上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要: 首先,我们得知道根搜索算法,它可以解决我们应该回收哪些对象的问题,但是它显然还不能承担垃圾搜集的重任,因为我们在程序(程序也就是指我们运行在JVM上的JAVA程序)运行期间如果想进行垃圾回收,就必须让GC线程与程序当中的线程互相配合,才能在不影响程序运行的前提下,顺利的将垃圾进行回收。 为了达到这个 阅读全文
posted @ 2017-10-25 23:13 傲视苍穹 阅读(548) 评论(0) 推荐(0)
摘要: DB 分库分表的基本思想和切分策略 一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在 阅读全文
posted @ 2017-10-25 23:10 傲视苍穹 阅读(497) 评论(0) 推荐(0)
摘要: 作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限制 阅读全文
posted @ 2017-10-25 23:06 傲视苍穹 阅读(319) 评论(0) 推荐(0)
摘要: 当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一 阅读全文
posted @ 2017-10-25 22:56 傲视苍穹 阅读(220) 评论(0) 推荐(0)
摘要: 系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。 阅读全文
posted @ 2017-10-25 22:56 傲视苍穹 阅读(241) 评论(0) 推荐(0)
摘要: DB 分库分表(2):全局主键生成策略 本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:DB 分库分表(1):拆分实施策略和示例演示 第一部分:一些常见的主键生成策 阅读全文
posted @ 2017-10-25 22:54 傲视苍穹 阅读(237) 评论(0) 推荐(0)
摘要: DB 分库分表(1):拆分实施策略和示例演示 第一部分:实施策略 1.准备阶段 对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数据库schema.一个好的建议是绘制一张数据库ER图或领域模型图,以这类图为基础划分shard,直观易行,可以确保开发人员始终保持清醒思路 阅读全文
posted @ 2017-10-25 22:52 傲视苍穹 阅读(521) 评论(0) 推荐(0)
摘要: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。 数据库事务 在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。但是即使如此,可能对于一 阅读全文
posted @ 2017-10-24 22:55 傲视苍穹 阅读(7961) 评论(0) 推荐(0)
摘要: 这张图片是我看传智播客的视频时的截屏,这个图片很直观的展示了线程范围内的数据共享。当同一个线程在执行三个不同业务模块时,这三个业务模块访问的数据是共享的。更直白的说,当一个执行线索在穿个每个业务模块时,这个执行线索在执行业务模块时,所调用的数据资源是共享的。线程范围内,是指同一个的执行线索的范围内。 阅读全文
posted @ 2017-10-22 21:25 傲视苍穹 阅读(188) 评论(0) 推荐(0)
摘要: 上一篇文章我们讲解了线程间的互斥技术,使用关键字synchronize来实现线程间的互斥技术。根据不同的业务情况,我们可以选择某一种互斥的方法来实现线程间的互斥调用。例如:自定义对象实现互斥(synchronize("自定义对象"){}),同一个类实例对象(synchronize(this){}), 阅读全文
posted @ 2017-10-21 22:53 傲视苍穹 阅读(156) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 下一页