从支持异步并发编程的Web后端框架到数据存储服务的分布式一致性哈希路由

原创 2016年06月01日 21:42:02
 异步并发框架应该可以解决web后端开发的IO性能问题,比如node、go?、tornado、openresty?,剩下的就是数据存储如何做切分和LB了,当然,可以考虑使用内存数据库,这样数据存储不需要管持久化


关键的持久化仍然可以使用mysql,要么做主从分离,要么做jdbc前端转发,但是mysql的水平切分仍然是个技术活(对于业务逻辑复杂的情况)


假如不考虑索引需求,所有的索引全部走lucene/es,不考虑连接/分布式连接,而是增加冗余存储;那么核心存储可以只需要关心如何做LB/高级切分,每个物理存储可以自己用B树实现一个简单点的


但是不论是哪一种LB/数据切分,理论上某个物理分块节点都可能过载,这个时候就需要进一步的分裂,不幸的是,在要求服务可用性、一致性、多副本等等的前提下,这个分裂过程不容易做好

当然可以使用DHT:假设一个经过水平切分后的节点物理存储仍然过载,此时需要调整整个存储网络的拓扑/容量,然后相当于做下面的逻辑操作:将此节点从网络中detach分离,将节点上的数据以最小单位重新put回去


说起来好像很简单,但是做起来复杂:detach过载节点的前提是网络先扩容,扩容之后原有的DHT机制可能不再适用,那么如何保证这个扩容不需要调整现有的存储节点呢?一般使用Hash到虚拟节点,虚拟节点再映射到物理节点,这就是所谓的一致性hash。问题是这个其实并不能保证前面的“调整过程”是IO代价最小的

探讨后端选型中不同语言及对应的Web框架

在进行后端选型的时候,要选择的实际上是一个框架。后端领域所使用的技术和框架已经趋于稳定,我们只需要框架。当有多个框架适合时,再选择适合的语言。 本文选自《全栈应用开发:精益实践》。...
  • broadview2006
  • broadview2006
  • 2017年06月09日 09:45
  • 1720

分布式哈希表和一致性哈希

原文地址: http://hi.baidu.com/hins_pan/blog/item/8a3c90c50c6990d838db497d.html 分布式哈希(DHT) 两个key p...
  • icycolawater
  • icycolawater
  • 2012年02月13日 15:14
  • 1789

《Java并发编程从入门到精通》目录

http://product.dangdang.com/23751808.html 第一部分:线程并发基础 第1章  概念部分 1.1  CPU核心数、线程数 1.2  CPU时间片轮转机...
  • brucexia
  • brucexia
  • 2015年11月05日 17:43
  • 1325

Java并发编程从入门到精通 张振华.Jack --我的书

本书作者结合自已10多年Java并发编程经验,详细介绍了Java并发编程的基础概念、工作原理、编程技巧和注意事项,对Java高性能高并发编程有极大的参考价值。 本书内容包括并发编程概念,线程,线程安全...
  • tianya846
  • tianya846
  • 2015年07月26日 22:46
  • 4331

《异步处理在分布式系统中的优化作用》学习笔记

原文地址:http://www.infoq.com/cn/presentations/optimization-of-asynchronous-processing-in-distributed-sy...
  • unix21
  • unix21
  • 2016年05月07日 16:07
  • 731

从分布式系统角度的回答阻塞非阻塞与同步异步的区别

“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。 1.同步与异步 同步和异步关注的是消息通信机制 (synchronous communicati...
  • SprintfWater
  • SprintfWater
  • 2014年03月10日 09:54
  • 1897

一致性哈希算法原理及其在分布式系统中的应用

本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如...
  • bzhxuexi
  • bzhxuexi
  • 2015年06月09日 08:47
  • 3220

总结的javaWeb后端开发框架的知识点

谈一谈hibernate以及它的特点(重点)    hibernate是一个全自动轻量级的持久化的orm框架,底层封装了jdbc,    通过对象关系操作数据库,它使用hql语句,大大...
  • weixin_36126172
  • weixin_36126172
  • 2017年03月04日 16:26
  • 3472

什么是框架(包括前端框架和后端框架)

什么是框架
  • u012566290
  • u012566290
  • 2015年08月02日 21:55
  • 9715

分布式哈希表DHT和一致性哈希

分布式哈希(DHT) 两个key point:每个节点只维护一部分路由;每个节点只存储一部分数据。从而实现整个网络中的寻址和存储。 DHT只是一个概念,提出了这样一种网络模型。并且说明它是对分布式存储...
  • jazywoo123
  • jazywoo123
  • 2015年12月17日 17:00
  • 2140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从支持异步并发编程的Web后端框架到数据存储服务的分布式一致性哈希路由
举报原因:
原因补充:

(最多只允许输入30个字)