忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12
最近访问板块 发新帖
楼主: 王楠w_n

【好书推荐】实战为上!如何从运维人的角度理解“分布式系统”?(获奖名单已公布) [复制链接]

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:13:29
发表于 2017-06-26 14:46 |显示全部楼层
本帖最后由 aloki 于 2017-06-26 14:54 编辑

1.什么是分布式系统?当下主流开源分布式系统架构都有哪些?
     所谓的分布式系统就好比如一家全国性的银行,用户在这家银行任何一家分行开户后,就可以在这家银行全国任何一家分行执行存取款、转帐等操作。用户只看到帐户上金额的变化,并不知道这背后的数据信息是怎样从他开户的分行传输到总行和其它分行的。再举一个简单一点的例子,分布式系统就像一家大酒店的厨房,客人向服务员点完菜之后,厨房的厨师们有的负责洗菜,有的负责切菜,有的负责配菜,还有的负责炒菜,最终客人并不知道这道菜是哪几位厨师完成的。
     当下主流开源分布式系统架构都有Hadoop、Spark、Storm。

2.为什么要用分布式系统?该系统有哪些优势?
     投资界有句名言,叫做“不要把鸡蛋放在一个篮子里”。对于现代的系统而言更是如此。厂商的机子不可能保证永远不坏,我们也无法保证黑客不会入侵我们的系统,最为关键的是,我们自己无法保证自己的程序不会出bug。所以问题无法避免,错误也不可避免,我们只能鸡蛋分散到不同的篮子里,来减轻一锅端的风险。这就是为什么需要分布式系统的原因。
     分布式系统的优势有:
     1、性能的可扩展性--毕竟任何主机(哪怕是小型机、超级计算机)都会有性能的极限。而分布式系统可以通过不断扩张主机的数量以实现横向水平性能的扩展。
     2、故障的独立性--软件不是完美的,网络不是完美的,甚至机器本身也不可能是完美的,随时可能会出错,为了避免故障,一般分布式系统要设计成被允许出现部分故障而不影响整个系统的正常使用。

3.在设计分布式系统时,需要考虑哪些因素?也就是说,如何合理将一个系统拆分成多个子系统部署到不同机器上?
     在设计分布式系统时,应考虑以下几个问题:
     ·系统如何拆分为子系统?
     ·通信过程中的安全如何考虑?
     ·如何让子系统可以扩展?
     ·子系统的可靠性如何保证?
     ·数据的一致性是如何实现的?


4.在系统架构的过程中,预想下,你将会面临哪些挑战和困难?
      在系统架构的过程中,将会面临的挑战和困难有:
      ·异构性:分布式系统由于基于不同的网络、操作系统、计算机硬件和编程语言来构造,必须要考虑一种通用的网络通信协议来屏蔽异构系统之间的差异。一般交由中间件来处理这些差异。
      ·缺乏全球时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。紧密的协调经常依赖于对程序动作发生时间的共识,但是,实际上网络上计算机同步时钟的准确性受到极大的限制,即没有一个正确时间的全局概念。这是通过网络发送消息作为唯一的通信方式这一事实带来的直接结果。
  ·一致性:数据被分散或者复制到不同的机器上,如何保证各台主机之间的数据的一致性将成为一个难点。
     ·故障的独立性:任何计算机都有可能故障,且各种故障不尽相同。他们之间出现故障的时机也是相互独立的。一般分布式系统要设计成被允许出现部分故障而不影响整个系统的正常使用。
     ·并发:分布式系统的目的,是为了更好的共享资源。那么系统中的每个资源都必须被设计成在并发环境中是安全的。
     ·透明性:分布式系统中任何组件的故障、或者主机的升级、迁移对于用户来说都是透明的,不可见的。
     ·开放性:分布式系统由不同的程序员来编写不同的组件,组件最终要集成成为一个系统,那么组件所发布的接口必须遵守一定的规范且能够被互相理解。
     ·安全性:加密用于给共享资源提供适当的保护,在网络上所有传递的敏感信息,都需要进行加密。拒绝服务攻击仍然是一个有待解决的问题。
     ·可扩展性:系统要设计成随着业务量的增加,相应的系统也必须要能扩展来提供对应的服务。

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:13:29
发表于 2017-06-26 14:51 |显示全部楼层
本帖最后由 aloki 于 2017-06-26 14:54 编辑

终于编辑好了,真麻烦呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票8.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月2日前

活动链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP