微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。

而这些技术有一个共同的特点,就是全网都在大谈分布式,其实主要就是因为数据量的爆发增长,我们的网站等应用承担了他本不应该承受的压力,这个时候,中国古人的训诫就起了很大的作用:众人拾柴火焰高,团结就是力量,所以,将压力分散到多个不同的点上就可以解决这个问题,分布式由此产生

我们现在看一下分布式系统到底是怎么回事?

分布式系统

分布式系统是其组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。该定义引出了分布式系统的下列重要特征:组件的并发性、缺乏全局时钟、组件故障的独立性。

我们看一下现代分布式系统的几个例子,包括Web搜索、多人在线游戏和金融交易系统,也考察今天推动分布式系统发展的关键趋势:现代网络的泛在特性,移动和无处不在计算的出现,分布式多媒体系统不断增加的重要性,以及把分布式系统看成一-种实用系统的趋势。接着本章强调资源共享是构造分布式系统的主要动机。资源可以被服务器管理,由客户访问,或者它们被封装成对象,由其他客户对象访问。

构造分布式系统的挑战是处理其组件的异构性、开放性(允许增加或替换组件)、安全性、可伸缩性(用户的负载或数量增加时能正常运行的能力)、故障处理、组件的并发性、透明性和提供服务质量的问题。最后,以Web作为一个大规模分布式系统的例子进行了讨论,并介绍了它的主要特征。

需要这份文档的,关注+转发后,私信“资料”即可查看获取方式

微服务、云原生、Kubernetes、Service Mesh

基于上面分布式系统的设计原则,在现实开发环境中,产生了以下的这些技术,包括微服务、云原生、Kubernetes、Service Mesh等,我们接着看

直接进入正题

RPC

每个分布式系统都离不开多进程的通信问题,包括本机上多进程之间的IPC通信和基于网络的远程通信技术,后者是分布式系统架构中的核心和关键基础技术之一,就远程通信而言,抛开各种专用系统的远程通信协议如NFS、FTP、SNMP、SMTP、POP3不说,各种通用的远程通信技术也在不断发展和变化,比如从最古老的RPC远程通信技术到曾经风靡一时的SOAP(Web Service)协议,再到后面红极一时的HTTP REST。如今,由于移动互联网和大数据时代的兴起,支持多语言与高性能传输的各种RPC架构再次成为热点技术。

内存

除了CPU,内存大概是最重要的计算资源了。基本成为分布式系统标配的缓存中间件、高性能的数据处理系统及当前流行的大数据平台,都离不开对计算机内存的深入理解与巧妙使用。在本章中我们将探索这个让人感到既熟悉又复杂的领域。

分布式存储

分布式文件系统是大型分布式系统中非常重要的基础设施.Hadoop中最重要的技术不是MapReduce,而是 HDFS。除了HDFS,Spark还可以与老牌分布式文件系统GlusterFS结合使用。OpenStack中最重要且能独立运营的子系统是分布式对象存储系统Swift。Docker及 Kubernetes容器技术依然需要通过分布式文件系统实现批量处理任务中的共享存储问题。更不用说,无数电商系统都需要一个分布式文件系统来存储海量照片。因此,掌握分布式存储相关的知识和技能,对于一名分布式系统架构师来说非常重要。

分布式计算

不管是网络、内存还是存储的分布式,它们的最终目标都是实现计算的分布式:数据在各个计算机节点上流动,同时各个计算机节点都能以某种方式访问共享数据,最终分布式计算后的输出结果被持久化存储和输出。分布式计算作为分布式系统里最重要的一个能力和目标,也是大数据系统的关键技术之一。经过多年的发展与演进,目前业界已经存在很多成熟的分布式计算开源编程框架和平台。作为架构师,我们应该尽可能地了解和掌握这些框架和平台。

消息中间件

在前面的章节中,我们学习了构建一个分布式系统所必需的各种基本知识和技能,比如分布式系统的基础理论、网络编程技术、RPC架构、内存计算、分布式文件系统、分布式计算框架等,但仅仅掌握这些内容还是远远不够的,我们还需要学习和掌握分布式系统中常用的一些中间件,这些中间件主要用于分布式系统中常见的一些业务场景:数据全文检索、日志和消息处理、数据库的分片、网站的负载均衡等。由于篇幅有限,本章只对全文检索与消息队列这两个用途广泛又相对复杂的中间件进行全面介绍。

微服务架构

微服务架构是当前很热门的一个概念,是技术发展的必然结果。微服务架构也不是一个缥缈、空洞的术语,它的核心理念与架构原则是实实在在的,虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合项目的特点来选择某个合适的微服务架构平台,稳妥地实施项目的微服务化改造或开发进程。

好了,关于分布式,我就介绍到这里把,从原理到实践都有了,有需要这两份文档的朋友,点赞后,关注公众号:Java架构师联盟,即可查看获取方式

2020,不会分布式怎么可以,这2份pdf共1000+,从原理到系统实现都包含了相关推荐

  1. 尚硅谷2020微服务分布式电商项目《谷粒商城》学习笔记

    尚硅谷2020微服务分布式电商项目<谷粒商城> 项目简介 资料 百度云 链接:https://pan.baidu.com/s/1eGCTi6pLtKbDCwBs-zCOzQ 提取码:1pm ...

  2. 第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—深度优先与广度优先原理...

    第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲-深度优先与广度优先原理 网站树形结构 深度优先 是从左到右深度进行爬取的,以深度为准则从左到右的执行(递归方式实现)Scrapy默认 ...

  3. 《深入理解分布式事务》第三章 Spring 事务的实现原理

    <深入理解分布式事务>第三章 Spring 事务的实现原理 文章目录 <深入理解分布式事务>第三章 Spring 事务的实现原理 一.Spring 事务原理 1.JDBC 直接 ...

  4. 【报告分享】2020年中国金融科技企业领袖观点洞察报告.pdf(附下载链接)

    大家好,我是文文(微信:sscbg2020),今天给大家分享毕马威中国于2020年9月份发布的报告<2020年中国金融科技企业领袖观点洞察报告.pdf>,也欢迎大家扫码加入金融科技行业交流 ...

  5. 【报告分享】2020年教育行业OMO模式转型现状研究报告.pdf(附下载链接)

    大家好,我是文文(微信:sscbg2020),今天给大家分享多鲸资本教育研究院于2020年8月份发布的报告<2020年教育行业OMO模式转型现状研究报告.pdf>. 本报告共66页,包含如 ...

  6. 【报告分享】2020中国时尚跨境电商发展报告.pdf(附下载链接)

    大家好,我是文文(微信:sscbg2020),今天给大家分享谷歌和德勤于2020年7月发布的报告<2020中国时尚跨境电商发展报告.pdf>,报告共87页,包含如下四大部分: 1.中国时尚 ...

  7. HUAWEI华为MateBook 13 2020款 锐龙版 R7 集显 触屏 16GB+512GB (HNL-WFP9Q)原装出厂系统恢复原厂系统

    HUAWEI华为MateBook 13 2020款 锐龙版 R7 集显 触屏 16GB+512GB (HNL-WFP9Q)原装出厂系统恢复原厂系统 链接:https://pan.baidu.com/s ...

  8. 2020美容师(中级)复审模拟考试及美容师(中级)模拟考试系统

    题库来源:安全生产模拟考试一点通公众号小程序 2020美容师(中级)复审模拟考试及美容师(中级)模拟考试系统,包含美容师(中级)复审模拟考试答案解析及美容师(中级)模拟考试系统练习.由安全生产模拟考试 ...

  9. matlab分布式电源储能系统配置优化研究 面向新能源储能容量配置 储能系统定容和电力系统优化调度双层决策优化模型

    matlab分布式电源储能系统配置优化研究 面向新能源储能容量配置 储能系统定容和电力系统优化调度双层决策优化模型 粒子群+cplex matlab代码 注释明确 有参考文献和说明文档 ID:8212 ...

最新文章

  1. CCNA10月27日战报
  2. flink 不设置水印_从0到1学习Flink—— Flink parallelism 和 Slot 介绍
  3. [Vue.js] 基础 -- Vue常用特性
  4. 视觉中国网站恢复试运营 此前曾两次遭整改
  5. linux分区合并不损坏系统,不损坏数据的情况下 linux磁盘如何扩展 LVM格式
  6. Element UI的表格table列的宽度自适应设置
  7. Vancouver wechat
  8. Computer Browser服务自动停止
  9. 干货 | 华为内部几近满分的项目管理PPT
  10. 酒店管理系统——界面设计
  11. 探索肠道细菌的营养偏好
  12. 不谋全局者不足以谋一域,不谋万世者不足以谋一时
  13. HTTPS加密网站,地址重写配置
  14. 成立3年亮出成绩单:高博要打造医疗创新高地
  15. 西安华清远见学习一周的收获总结----ubuntu的安装,适合初学者
  16. Python编程从入门到实践:动手试一试8-6城市名
  17. Android应用或界面启动时间性能
  18. GeoTools学习参考文章
  19. Scratch软件编程等级考试四级——20200913
  20. Photoshop如何快速选择定位到锁定状态的图层

热门文章

  1. try语句的基本用法
  2. 对贴片陶瓷电容材料的区分
  3. 汉字进行计算机识别的原理,计算机OCR文字识别技术的原理和未来发展趋势
  4. 学习java被虐千百遍
  5. 国内哪一家银行的账户最适合用来接收来自国外机构的美元汇款?
  6. mysql跨平台迁移复制_手工 XTTS CPT 迁移-跨平台迁移数据库-阿里云开发者社区
  7. 谷歌提出新框架Soft Diffusion:从通用扩散过程中正确调度、学习和采样
  8. 懂车帝视频连接--JS逆向
  9. 【深度学习】实时人眼 瞳孔追踪 系统
  10. AD软件出现“Your license is already used on computer “LAPTOP-F99R6OR1“ using product “AltiumDesigner“