软件架构入门及分类——云架构
架构描述
云架构(cloud architecture)主要解决扩展性和并发的问题,是最容易扩展的架构。
它的高扩展性,主要原因是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个处理单元(prcessing unit)。访问量增加,就新建处理单元;访问量减少,就关闭处理单元。由于没有中央数据库,所以扩展性的最大瓶颈消失了。由于每个处理单元的数据都在内存里,最好要进行数据持久化。
这个模式主要分成两部分:处理单元(processing unit)和虚拟中间件(virtualized middleware)。
- 处理单元:实现业务逻辑
- 虚拟中间件:负责通信、保持sessions、数据复制、分布式处理、处理单元的部署。
虚拟中间件又包含四个组件。
- 消息中间件(Messaging Grid):管理用户请求和session,当一个请求进来以后,决定分配给哪一个处理单元。
- 数据中间件(Data Grid):将数据复制到每一个处理单元,即数据同步。保证某个处理单元都得到同样的数据。
- 处理中间件(Processing Grid):可选,如果一个请求涉及不同类型的处理单元,该中间件负责协调处理单元
- 部署中间件(Deployment Manager):负责处理单元的启动和关闭,监控负载和响应时间,当负载增加,就新启动处理单元,负载减少,就关闭处理单元。
优点
- 高负载,高扩展性
- 动态部署
缺点
- 实现复杂,成本较高
- 主要适合网站类应用,不合适大量数据吞吐的大型数据库应用
- 较难测试
软件架构入门及分类——云架构相关推荐
- 软件架构入门及分类——微内核架构
架构描述 微核架构(microkernel architecture)又称为"插件架构"(plug-in architecture),指的是软件的内核相对较小,主要功能和业务逻辑都 ...
- 软件架构万字漫谈:业务架构、应用架构与云基础架构
软件架构万字漫谈:业务架构.应用架构与云基础架构 本部分节选自<软件架构设计> 软件开发就是把一个复杂的问题分解为一系列简单的问题,再把一系列简单的解决方案组合成一个复杂的解决方案.而软件 ...
- spring cloud微服务分布式云架构-Gateway入门
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gatew ...
- 从入门到精通,7天轻松玩转云速搭CADT,所见即所得的云架构工具
简介:所见即所得(英语:What You See Is What You Get,缩写:WYSIWYG)是由菲利普·威尔逊(Flip Wilson)所提出的一种电脑文本编辑器方面的技术,使得编辑文字时 ...
- 整合spring cloud云架构 - Gateway的基本入门
1.gateway和zuul Spring Cloud Finchley版本的gateway比zuul 1.x系列的性能和功能整体要好,且使用 Gateway 做跨域相比应用本身或是 Nginx 的好 ...
- 中间件和微服务,Docker以及原生云架构的关系
IT世界的技术更新非常迅速.一年前我曾写过一篇关于:微服务是否是企业服务总线和其他中间件的死亡魔法.本文章是之前文章的后续以及关于微服务.容器和原生云架构的中间件关系讨论的更新.各种规模的企业正在以令 ...
- 读书笔记 之《软件架构设计: 大型网站技术架构与业务架构融合之道》
大家好呀,我是小菜~ 帅哥美女,知道你们时间宝贵,那么就由小菜为你读好一本书,读一本好书,取其精华,与你共享~! 本文主要分享 <软件架构设计:大型网站技术架构与业务架构融合之道> 如有需 ...
- python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云
python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...
- 一种海量数据安全分类分级架构的实现
该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口.栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启迪共成长.本文作者是腾讯高级开发工程师杨波. 本文主要总结个人在数据安全分类落 ...
最新文章
- [原创]java读写word文档,完美解决方案
- 转:socket select模型示例
- mysql sql应用_MySQL数据库应用(5)SQL语言(2)
- mybatis是什么_为什么SpringMVC可以正确解析方法参数名称,但MyBatis却不行?
- android intent传递数据
- Spring Boot 快速集成第三方登录功能
- 视觉SLAM笔记(27) 非线性最小二乘
- Ext 组件的一些操作
- 微信小程序四(设置底部导航)
- notepad批量删除html元素,Notepad++几个常用删除类正则表达式汇总(收藏)
- Javascript--闭包引起的IE内存泄露(转载)
- docker安装mysql以及设置navicat远程访问
- java map 遍历取值_遍历 MAP 集合取值方式
- SpringBoot 中如何使用JSP页面开发?
- 微信对账单 java_微信支付-跨境支付开发者文档
- 电脑无缘无故黑屏,无法调节亮度。
- 零基础入门CV之街道字符识别----Task1赛题的理解
- 2023第八届少儿模特明星盛典 小超模李迦曈 担任全球赛小主持人
- VSCdoe 插件开发
- 水晶苍蝇拍-微薄投资感悟
热门文章
- HTML进阶--如何使用Sublime Text来创建网页 -------16岁的小前端
- [资源下载]张宇老师讲授的数学视频(概率+高数+线代)
- 摩王软件OA+系统功能简介
- babylonJs 水材质
- openstack core components use 总结
- 中国传感器规模将超7000亿元:2022最全面深入的产业分析
- 为什么加了@WebFilter注解,Spring却没有给我自动注入该过滤器?
- 最小编辑距离算法及python实现
- Day7-模拟登录丁香园,爬取所有用户基本信息和回复内容
- zookeeper应用场景罗列