云计算参考架构几例

云计算参考架构:

image

上图阐释如何创建私有和混合云,最终用户可以自行提供计算、 存储和网络。许多大型组织开始创建内部的私有云,来增强其数据中心战略。

58同城的云架构:

58Clould

百度社区的云架构

image

结合对弹性服务的理解,第一个是弹性伸缩,你让你的业务随着你的性能,随着你的流量,随着业务的变化自动的伸缩流量,这是第一个点。第二个点是我能够自动的屏蔽异常处理,我的机器出问题的时候,对业务是透明的,也是没有影响的。

image

有道笔记 云架构:

image

 

在整个云存储系统中,可以采用的开源技术,主要开发语言有:C、PHP、Erlang、Python,开源产品有:Nginx、GraphicsMagick、MySQL、Memcached、Hadoop、Redis、Squid、Heartbeat、IPVS BIND

需要考虑的技术平台:

o->  Java平台

>  Grails模仿Rails的Java平台实现

> Java_web 普通Java web程序

>  Lift基于Scale的web框架

>  Spring 流行的Java框架

o->  Ruby平台

>  Rack  最小化的Ruby Web框架

>  Rails3 一站式的Ruby Web框架

>  Sinatra 极简主义的Ruby Web框架

o->  Python平台

>  Django 最流行的PythonWeb框架

>  Wsgi Python的CGI

o->   其他平台

>  Static page 静态页面

>  node.js 异步Web框架

>  Erlang

>  php

>  standalone 独立的程序

存储

       ×->   DB

-  Mongodb 最流行的Nosql数据库

-  Mysql传统开源关系数据库

-  Neo4j图数据库

-  Postgresql Mysql的有力竞争者

-  Redis极快的内存KV数据库

×->  存储

-  Atmos EMC专业存储

- FileSystem 远程NFS支持

-  Vblob 提供Amazon S3支持

×->  其他

-  RabbitMQ 出色的Erlang队列系统

 

云计算系统架构的四个方面有怎样的影响

  • 可扩展性:我能否增加资源以处理增加的需求?
  • 可用性:我的应用能否容忍短暂的和持久的故障?
  • 可管理性:我是否有办法了解生产系统的健康和性能?
  • 可行性:我能否在时间和成本预算之内构建和维护这个系统?

可扩展性

可扩展性来自于两个方面:资源和密度。能力是指增加额外的硬件,它可能微不足道(在一个负载均衡器后增加额外的网络服务器)也可能非常地困难(增加一个次要的数据库服务器)。密度是指你能以怎样的效率去使用已经拥有的能力。传统的性能调优可以大幅地增加密度。

可度量的资源

可度量的资源是某些需要小心监控的东西。举例来说,数据库连接就是一种可度量的资源。作为一种有限的资源,滥用它就会大幅度地降低密度。其他可度量资源的例子还包括认证服务器和第三方网络服务。这些有时被称为“隐形的资源”,因为开发人员设计架构时经常会忽略掉它们。

通过队列负载均衡

上传时的峰值可能会成为问题,尤其是在那些针对大量读取工作负载优化过的系统上。一种降低这种峰值的方式是,通过使用队列以等待时间交换可用性。 在这种方案下,新数据在数据库中不是同步保存的。相反,它们会被放到一个队列中,这是个后台进程监控器。这个后台进程可以使负载趋于平滑,以便数据库始终会被使用,而不是某些时候忙,其他时候闲。 使用队列的其他好处是可以批量处理那些工作。一般来说,把信息批量写入到数据库中要比一次一条记录快得多。
最后要说的是,这还增加了解耦点。后台进程或数据库可以宕掉,完全不会影响前端应用接受新数据的能力。

改善消息队列的可用性

如果过多的消息是被同时接收的,可以使用辅助的消息队列去保存过量的部分。为了做到这一点,你需要设计应用能够支持多个队列,即使最初你打算只部署有一个队列的应用。

记录错误的数据

大多数开发人员都很清楚需要去验证数据,但是当验证失败的时候,他们不知道做什么。仅仅弃掉数据和抛出错误是不够的。应该把错误的数据以它原有的格式记录下来,以便开发人员能够断定为什么会有这种错误的请求。

 

您可能感兴趣的文章:

CDN模式介绍

零售连锁专卖信息化解决方案简介之一

如有想了解更多软件,系统 IT,企业信息化 资讯,请关注我的微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu


作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#开源类库推荐:拼多多开放平台SDK,开源免费,支持.NET Core!

今天推荐一个拼多多开放平台DotNet SDK!开源地址:https://github.com/niltor/open-pdd-net-sdk作者:niltor背景介绍来源原文链接:https://www.cnblogs.com/msdeveloper/p/open-pdd-net-sdk.html环境支持支持基于 NETStandardv2.0 的项目&…

【VS2008无法启动asp.net development server】的解决

【VS2008无法启动asp.net development server】的解决 今天在VS2008中浏览打开一个网页时,就弹出对话框“无法启动asp.net development server”,试了很多次都是这样,有时就提示“无法连接到asp.net development server” 在网上找到下面的解…

不同服务器数据库表连接查询修改,如何连接多个数据库,mysql中的服务器和查询两个表中的对方?...

我期待从不同服务器连接两个不同的数据库。此外,我想运行一个查询,从两个数据库中获取数据到一个单一的结果。我正在使用mysql在PHP脚本中执行此操作。这里是如何很期待做[没有成功:)]如何连接多个数据库,mysql中的服务器和查询两个表中的对方…

道理我都懂,但你到底为什么偏偏喜欢咬我??

▲ 点击查看眼看着天气一天天热起来,我这春困还没醒呢,蚊子们倒是醒过来了。每天晚上一关灯,就能听到它在我周围“嗡嗡嗡”地叫,可一开灯,又找不到它在哪儿,心里真是恨得直痒痒。才刚进四月,我就…

python爬虫登录有验证码_大神教你用Python爬虫模拟登录带验证码网站

爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法。python提供了强大的url库,想做到这个并不难。这里以登录学校教务系统为例,做一个简单的例子。 首先得明白cookie的作用,cookie是某些网站为了辨别用户身份…

创建失败_号称人人都可编辑的百科词条,创建之路为何屡屡失败?

​作为企业推广的第一步,百科词条可以说是最直观最便捷的了,当我们想要了解一个企业的信息,往往上网查找百科信息,而且百科类的权重是比较高的,都会在搜索结果首页展示。而企业需要做百科词条的原因就是,编…

十个必备的.NET开发小工具(1):Snippet Compiler

作者:James Avery 翻译:lucentoff 出处:http://msdn.microsoft.com/msdnmag/issues/04/07/MustHaveTools/default.aspx 声明:版权属原作者所有,转载请注明出处!本文将介绍下列工具: 代码片段编…

分享一个点赞超过100的漂亮ASP.NET MVC蓝色界面框架

从 陈贞宝 博客中看到一个MVC模板感觉特别漂亮就尝试着分离出来,直接拿来用啦,直接拷贝到自己的常用的代码库里收藏起来,地址是http://www.cnblogs.com/baihmpgy/p/3817613.html 下图是该界面框架的样式。 要使用该界面框架,你可以…

.NET 6 中哈希算法的简化用法

.NET 6 中哈希算法的简化用法Intro微软在 .NET 6 中引入一些更简单的 API 来使用 HMAC 哈希算法(MD5/SHA1/SHA256/SHA384/SHA512)微软的叫法叫做 HMAC One-Shoot method, HMAC 算法在普通的哈希算法基础上增加了一个 key,通过 key 提升了安全性&#xff…

iis 404错误从定向完美方案

is 404错误从定向完美方案 自定义404页 面返回不当状态码如“200”等给网站最终SEO效果带来的不利影响,因此,确保自定义的404错误页面能够返回“404” 状态码是极为重要的,也是网站优化与SEO的基本要求。 HTTP404对 SEO的影响   自定义404错…

python 百度百科 爬虫_python简单爬虫

爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2、BeautifulSoup实现简单爬虫,scrapy也有实现过。最近想更好的学习爬虫,那么就尽可能的做记录吧。这篇博客就我今天的一个学习过程写写吧。 一 正则表达式 正则表达式是一个…

知乎上这个程序员火了,竟是因为给老板修了一 次U盘

全世界只有3.14 % 的人关注了爆炸吧知识相信很多小伙伴曾经遇到这样的问题软件工程▼知识君陷入沉思都说知乎出人才,于是知识君飞赴知乎希望能得到广大网友的点拨!知乎上有位朋友就分享了他的经验做为一名全栈程序员居然要我修电脑。你以为我会和领导说告…

mysql 批量_mysql LOAD语句批量录入数据

本章的前面讨论如何使用SQL向一个表中插入数据。但是,如果你需要向一个表中添加许多条记录,使用SQL语句输入数据是很不方便的。幸运的是,MySQL提供了一些方法用于批量录入数据,使得向表中添加数据变得容易了。本节以及下一节&…

VS2010 NDoc的插件工具

1、下载Sandcastle Help File Builder: http://www.codeplex.com/SHFB 2、下载sandcastle: http://www.microsoft.com/downloads/details.aspx?FamilyIDe82ea71d-da89-42ee-a715-696e3a4873b2&DisplayLangen 1、先安装sandcastle,然后安…

回到校园

最近一段时间,作息时间调整的原因,有了周六,周日。今天是星期六,下午没有什么事情,就带了本书,重新回到毕业5年的大学,又去上了一节自习!上学的感觉很好呀~~~转载于:https://blog.51…

Abel 分部求和法

本文之所以叫Abel分部求和法而不叫Abel分部求和公式,是因为求和公式有可能形式上有所不同,但是方法确实相同的。 $$\sum_{nM}^{N}a_{n}b_{n} \sum_{nM}^{N} a_{n}B_{n}-\sum_{nM}^{N}a_{n}B_{n-1}$$ 而 $$\sum_{nM}^{N}a_{n}B_{n-1}\sum_{M-1}^{N-1}a_{…

使用Pitcher简化卫语句

什么是卫语句在方法的开头,我们经常会添加一些检查代码,当检查条件为true时立刻从方法中返回。这样的单独检查代码被称为“卫语句”。例如,我们在添加用户时会检查用户名不能为空,年龄必须大于0:public void AddUser(s…

男人的本质需求

1 新的一天也要保持微笑哦2 别拍了!快救我!3 被可爱到了4 通过薯条学习骨折的分类。从左向右依次是:螺旋骨折、斜向骨折、横向骨折、多段骨折和粉碎性骨折。5 高级玩家啊~6 男人的本质需求你点的每个赞,我都认真当成了喜欢

python小甲鱼爬虫妹子_【Python学习日记】B站小甲鱼:爬虫

Web Spider Python 如何访问互联网 URL lib -->urllib URL的一般格式为 protocol://hostname[:port] / /path /[;parameters][?query]#fragment,其中[]为可选项 URL由三部分组成 第一部分是协议 第二部分是存放资源的服务器的域名系统或IP地址(有时…

【转】了解SQL Server触发器及触发器中的事务

引述 首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习。如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面…