了解Java分布式系统

Java分布式

设计分布式系统的本质就是 “如何合理将一个系统拆分成多个子系统部署到不同机器上”。

分布式系统的设计应考虑以下几个问题:

  • 系统如何拆分为子系统?
  • 如何规划子系统间的通信?
  • 如何让子系统可以扩展?
  • 通信过程中的安全如何考虑?
  • 子系统的可靠性如何保证?
  • 数据的一致性是如何实现的?

例子Hadoop

待更新...

参考:

https://waylau.gitbooks.io/distributed-java/content/docs/basic.html

http://static.googleusercontent.com/media/research.google.com/zh-CN//archive/gfs-sosp2003.pdf

http://docs.oracle.com/javaee/6/tutorial/doc/bnaay.html

时间: 2024-08-26 11:46:43

了解Java分布式系统的相关文章

我对java分布式系统的一点认识

相对于单机系统,分布式系统非常复杂,涉及到非常多的技术,作为一个屌丝,有幸能够在大规模分布式系统下工作,故在此记录一些浅薄认识,作为自己未来学习路线的参考. 一.分布式系统概述 分布式系统往往是把应用拆分成多个应用,每个团队维护一个应用,应用与应用通过远程过程调用或者消息中间件通信.这种系统的优点是能够做到高内聚低耦合,可以支撑业务的快速发展,缺点则是运维成本大大提高了,系统出了问题,需要全链路排查.如图所示,用户使用应用A,应用A首先需要调用应用B,然后调用应用C,其中应用B又要调用应用D和E

java 分布式系统 - 依据redis实现session共享机制 - 初级篇

一.session的基本应用 大家认识session,可能更多是在java web中浏览器和服务器之间的会话交互.那么为什么要有session? 比如你登录一个系统,每次都要输入个人信息,是不是觉得不方便或者是很烦,首先http协议本身是没有状态可言的(同一个会话的2个请求没有识别能力,2个请求都互相不了解,它们都是由最新实例化的环境进行解析,除了应用本身已经存储在全局对象中所有信息,该环境不会保存与会话相关的任何信息.)所以客户端就使用cookie,服务器使用session,典型的应用是解决重

解析Java分布式系统中的缓存架构(上)

作者 陈彩华 文章转载交流请联系 [email protected] 本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景. 1 缓存概述 2 缓存的分类 缓存主要分为以下四类 2.1 CDN缓存 基本介绍 CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求

复杂java分布式系统需注意GC导致jvm暂停

如标题. 一般来说分布式系统都会用zookeeper做协调操作,无论怎样的分布式协作方案分布式主机之间的联系一般通过发送心跳信息来通知自身节点的存活,那么问题就来了,如果复杂系统产生了大量java对象会导致频繁GC甚至长时间GC,这时候JVM会暂停,如果这个时候心跳连接超时,对于一个高容错的完善的分布式系统此时节点就会下线. 一些简单的经验之谈,这是本人在使用分布式ignite发现的问题. 一般的解决方案待续!!!我又偷懒了! 原文地址:https://www.cnblogs.com/SaltF

带你认真了解一下Java分布式系统的基本特性

一般,分布式系统需要支持以下特性: 资源共享 开放性 并发性 可伸缩性 容错性 透明性 下面分别讨论. 容易理解的 资源共享 一旦授权,可以访问环境中的任何资源 资源:包括硬件(e.g. printer, scanner, camera).软件(服务).数据(file, database, web page). 如资源管理器控制资源的访问: 提供命名机制 控制并发访问 开放性 新共享资源添加并被各种客户程序使用的(难易)程度. 如支持异构资源的添加和使用: 提供统一的通信机制 发布访问共享资源的

Java开源Apache项目

Commons-Pool Commons-Pool 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实 更多Commons-Pool信息 Commons-Math Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题. 更多Commons-Math信息 Commons-Jelly Jelly能够把XML转换成可执行代码,所以Jelly是一个基于XML与Java的脚本和处理引擎. Jelly借鉴了JSP定指标签,Ve

大型网站技术架构 读书笔记1 大型网站架构模式

架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计. 关于什么是模式,这个来自建筑学的词汇是这样定义的:"每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复工作".模式的关键在于模式的可重复性,问题与场景的可重复性带来解决方案的可重复使用. 针对现在的高并发访问,海量数据处理,高可靠运行等一系列问题,众多大型互联网公司提出了各种系统解决方案.这些优秀可靠的方案又被别的网站重复使用

Dubbo服务框架解析(一)

公司的一个项目的分布式系统的服务管理,使用了阿里的服务框架Dubbo,因此这里准备对服务框架进行了介绍. Dubbo服务框架可以使得java分布式系统之间进行解耦,使用一个服务注册中心来统一管理服务的信息,服务提供者提供注册中心进行注册,而服务消费者可以透明地订阅和消费服务.并支持服务的路由.过滤.负载均衡等,支持多种通讯协议及NIO框架,是一个灵活性和扩展性非常棒的服务管理框架. 本文以github中当前版本2.5.4的源码来分析. 为了支持更灵活的扩展性,当前dubbo拆分了非常多的proj

hadoop分布式系统下的mapreduce java小程序计算网站uv

一.准备工作 1.1 搭建hadoop分布式系统,博主是用3台虚拟机搭建的一个简易hadoop分布式系统. linux 5.5 64位     hadoop2.6.0 192.168.19.201   h1   (master) 192.168.19.202   h2   (slaver1) 192.168.19.203   h3   (slaver2) 1.2 准备网站访问IP文件 由于是实验,一个简单的txt文件即可 如:vim a.txt 10.0.0.1 10.0.0.2 10.0.0.