整个系统的架构如图所示,包括四层,每一层可以由若干结点来对数据和请求分流:
一.接口服务器(Interface Server):
1.对外提供访问接口并接受请求,考虑到HTTP的广泛性,一般内置一个http服务器进程
2.监控各dispatcher server的工作状态
3.转发请求到其中的一个最优dispatcher中,这里的最优性判断以各dispatcher server的工作状态为依据,当然在这一层上不心请求的具体内容可以简单地采用轮询或随机算法.
二.消息分发服务器(Dispatcher Server):
1.接受来自于接口服务器的请求
2.解析请求,提取特征参数(一般是类似于用户帐号之类的东西,一个帐号下的数据会被分布到同一个结点上),然后对该参数执行hash函数,计算出目标数据所在的App Server,然后将请求转发给该App Server.
3.事实上,在实际的项目中的处理比上面的介绍要更复杂一些,但伸缩性大大加强了.
三.应用服务器(App Server):
1.执行业务逻辑,等同于集中式系统中的应用服务器,已经不存在分布式的特征了.所处理的数据就是自己数据库中的数据,与网络上的其他结点无关.
2.被划分为多个逻辑组(group),同一个组中的服务器负载均衡
3.考虑到数据库的双重备份,热切换和负载均衡,才用了多数据库单读多写策略.对于读,监控各数据库工作状态,选择一个最优数据库来提供数据;对于写,同时写所有的数据库,因此必须保证操作的事务性.
四.数据库服务器(DB Server):
1.提供数据访问,没什么好说的,对于非事务性数据库需要在App Server层提供辅助措施;
五.结点之间的通信
1.数据(请求,响应,异常)以网络格式异步并发传输.
更进一步的描述在后续blog中给出.
分享到:
相关推荐
【Java分布式架构训练营 - 第一期 服务治理2023年 视频教程】是一个专为学习者设计的深入课程,旨在帮助他们理解和掌握Java在分布式系统中的服务治理技术。分布式架构是现代互联网应用的基础,它允许系统通过网络将...
Java分布式系统架构是一种将应用程序分布在多个计算节点上运行的技术,以提高系统的可伸缩性、容错性和性能。源码分析对于理解这种架构至关重要,尤其是对于开发者来说,它提供了深入学习和自定义系统的机会。本资源...
【Java分布式架构训练营 - 第一期 服务治理2023年 视频教程】是一个专注于教授现代Java技术栈在分布式系统中的应用和实践的培训课程。本教程的重点是服务治理,这是构建大规模、高可用性分布式系统的关键部分。通过...
Java分布式架构训练营第一期的主题聚焦于服务治理,这是一门深入探讨如何在大型、复杂的分布式系统中管理和协调服务的课程。2023年的版本更新可能包含了最新的技术和最佳实践,旨在帮助开发者提升构建和维护高可用、...
4. **分布式通信**:在R-OSGi中,服务不再局限于同一JVM,而是可以跨JVM甚至跨网络进行通信。这涉及到诸如服务注册、发现、安全和传输协议等复杂的分布式系统问题。 5. **软件/插件开发**:由于OSGi的模块化特性,...
在本课程"SpringCloud微服务分布式架构开发实战-50000-05-作业及参考答案"中,我们将深入探讨SpringCloud这一强大的微服务框架,并通过具体的作业与参考答案来加深理解。SpringCloud是Java领域中广泛使用的微服务...
3. **分布式架构**:介绍分布式系统的设计原则,以及如何使用各种分布式框架。 4. **中间件详解**:讲解各类中间件的工作原理和使用场景,包括消息队列、缓存、数据库连接池等。 5. **案例分析**:通过实际项目案例...
在分布式系统中,进程间的通信(IPC)和线程同步机制显得尤为重要,例如消息传递、管道、套接字、信号量和条件变量等,这些都是实现分布式网络操作系统时必须掌握的技术。 此外,书中会详细探讨分布式系统的设计与...
《Java分布式实战指南》这本书详细介绍了如何构建一个完整的Java分布式系统,主要涵盖了技术选型、分布式基础设施环境构建以及项目运营与部署环境等多个方面。在Java微服务领域,它提供了丰富的实践经验和理论指导。...
在分布式系统中,Java的特性如多线程、网络通信和内存管理等都非常适合处理并发请求和实现分布式通信。 分布式数据库在旅行预订系统中的应用主要体现在以下几个方面: 1. 数据一致性:为了确保用户在不同节点上...
总的来说,分布式通信框架是构建大规模、高性能系统的关键技术,RMI作为Java的RPC实现,简化了跨网络的Java对象调用,而理解TCP/IP、序列化和安全协议对于开发高效、安全的分布式系统至关重要。
R-OSGi是OSGi的一个扩展,专门用于实现分布式通信,它为Java应用程序提供了在OSGi环境中进行远程服务交互的能力。 ### OSGi核心概念 1. **服务**:OSGi中的核心概念是服务,它是具有特定接口和功能的模块。服务...
Java分布式架构是指在Java EE平台上设计和实现的一种软件架构,它将系统拆分成多个独立的模块,每个模块都是一个独立的子系统,通过服务调用和数据交换来实现通信。这种架构方式可以提高系统的可扩展性、可维护性和...
在现代的微服务架构中,分布式事务处理是一个关键的挑战。Spring Cloud作为一款强大的微服务治理框架,提供了许多工具和组件来帮助开发者构建云原生应用。本文将深入探讨如何在Spring Cloud环境中整合分布式事务框架...
这种方式大大降低了分布式系统中的通信复杂性,使得开发者可以更专注于业务逻辑,而无需关心底层网络通信细节。Dubbo作为一个优秀的RPC框架,它提供了服务注册、服务发现、负载均衡、容错机制等核心功能。 在Dubbo...
在现代企业级应用中,尤其是在云计算和微服务架构盛行的今天,掌握Java分布式应用的设计原则和技术至关重要。下面将详细介绍Java分布式应用程序设计的相关知识点。 1. **分布式系统基础**: - 分布式系统的概念:...
基于SSM架构实现的大型分布式购物网站-B2C项目源码.zip基于SSM架构实现的大型分布式购物网站-B2C项目源码.zip基于SSM架构实现的大型分布式购物网站-B2C项目源码.zip基于SSM架构实现的大型分布式购物网站-B2C项目源码...
分布式系统是由多台独立的计算机通过网络进行通信和协调,共同完成一个任务的系统。在Java中,通过RMI(远程方法调用)、JMS(Java消息服务)以及后来的JAX-RS(Java API for RESTful Web Services)等技术,我们...
【基于Dubbo的分布式系统架构】是现代互联网应用中常用的一种设计模式,它旨在通过服务化的方式提升系统的可扩展性和可维护性。本项目是一个【简易版支付系统】的源码实现,它利用了Dubbo作为核心的服务治理框架,为...