0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

各种分布式系统平台背景及开发中的应用

5RJg_mcuworld 来源:互联网 作者:佚名 2018-04-08 08:49 次阅读

一、分布式架构

架构分布式的英文(Distributed computing分布式计算技术)的应用和工具,成熟目前的技术包括 J2EE,CORBA 和 .NET(DCOM),这些技术牵扯的内容非常广,相关的书籍也非常多。

本文不介绍这些技术的内容,也没有涉及这些技术的细节,只是从各种分布式系统平台产生的背景和在软件开发中应用的情况来探讨它们的主要异同。

分布式系统是一个古老而宽泛的话题,而近几年因为“大数据”概念的兴起,又焕发出了新的青春与活力。

除此之外,分布式系统也是一门理论模型与工程技法。并重的学科内容相比于机器学习这样的研究方向,学习分布式系统的同学往往会感觉:“入门容易,深入难”的确,学习分布式系统几乎不需要太多数学知识。

分布式系统是一个复杂且宽泛的研究领域,学习一两门在线课程,看一两本书可能都是不能完全覆盖其所有内容的。

总的来说,分布式系统要做的任务就是把多台机器有机的组合,连接起来,让其协同完成一件任务,可以是计算任务,也可以是存储任务。

如果一定要给近些年的分布式系统研究做一个分类的话,我个人认为大概可以包括三大部分:

1. 分布式存储系统

2. 分布式计算系统

3. 分布式管理系统

二、微服务

当前微服务很热,大家都号称在使用微服务架构,但究竟什么是微服务架构?微服务架构是不是发展趋势?对于这些问题,我们都缺乏清楚的认识。

为解决单体架构下的各种问题,微服务架构应运而生。与其构建一个臃肿庞大,难以驯服的怪兽,还不如及早将服务拆分。微服务的核心思想便是服务拆分与解耦,降低复杂性。

微服务强调将功能合理拆解,尽可能保证每个服务的功能单一,按照单一责任原则(Single Responsibility Principle)明确角色。将各个服务做轻,从而做到灵活,可复用,亦可根据各个服务自身资源需求,单独布署,单独作横向扩展。

微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的

类上应用很多 SOLID 原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。

概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。

定义:围绕业务领域组件来创建应用,这些应用可独立地进行开发,管理和迭代在分散的组件中使用云架构和平台式部署,管理和服务功能,使产品交付变得更加简单。

本质:用一些功能比较明确,业务比较精练的服务去解决更大,更实际的问题。

三、源码分析

从字面意义上来讲,源文件的英文指一个文件,指源代码的集合。源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码)。

源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。

源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。

我认为是阅读源码的最核心驱动力我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):

1,只关注项目本身,不懂就百度一下。

2,除了做好项目,还会阅读和项目有关的技术书籍,看维基百科。

3,除了阅读和项目相关的书外,还会阅读IT行业的书,比如学的Java的时,还会去了解函数语言,如LISP。

4,找一些开源项目看看,大量试用第三方框架,还会写写演示。

5,阅读基础框架,J2EE 规范,调试服务器内核。

大多数程序都是第1种,到第5种不光需要浓厚的兴趣,还需要勇气:?我能读懂吗其实,你能够读懂的

耐心,真的很重要。因为你极少看到阅读源码的指导性文章或书籍,也没有人要求或建议你读。

你读的过程中经常会卡住,而一卡主可能就陷进了迷宫这时,你需要做的,可能是暂时中断一下,再从外围看看它:如API结构,框架的设计图。

四、工具使用

工欲善其事必先利其器,工具对 Java 的的程序员的重要性不言而喻现在有很多库,实用工具和程序任的 Java 的开发人员选择。下图列出的工具都是程序员必不可少的工具

五、性能优化

不管是应付前端面试还是改进产品体验,性能优化都是躲不开的话题。

优化的目的是让用户有“快”的感受,那如何让用户感受到快呢?

  • 加载速度真的很快,用户打开输入网址按下回车立即看到了页面

  • 加载速度并没有变快,但用户感觉你的网站很快

性能优化取决于多个因素,包括垃圾收集,虚拟机和底层操作系统(OS)设置。有多个工具可供开发人员进行分析和优化时使用,你可以通过阅读爪哇工具的源代码优化和分析来学习和使用它们。

必须要明白的是,没有两个应用程序可以使用相同的优化方式,也没有完美的优化的 Java 应用程序的参考路径。

使用最佳实践并且坚持采用适当的方式处理性能优化。想要达到真正最高的性能优化,你作为一个 Java 的开发人员,需要对 Java 的虚拟机(JVM)和底层操作系统有正确的理解。

性能优化,简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。性能问题永远是永恒的主题之一,而优化则更需要技巧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 虚拟机
    +关注

    关注

    1

    文章

    904

    浏览量

    28016
  • 分布式系统
    +关注

    关注

    0

    文章

    146

    浏览量

    19191

原文标题:十年开发经验总结的 Java 程序员架构学习路线

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    分布式软件系统

    、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式系统
    发表于 07-22 14:53

    分布式控制系统

    、直接数字控制、人机交互以及监控和管理等功能。分布式控制系统是在计算机监督控制系统、直接数字控制系统和计算机多级控制系统的基础上发展起来的,是生产过程的一种比较完善的控制与管理
    发表于 03-01 22:19

    如何设计分布式干扰系统

    什么是分布式干扰系统分布式干扰系统是一种综合化、一体化、小型化、网络化和智能化系统,是将众多体积小,重量轻,廉价的小功率侦察干扰机装置在易
    发表于 08-08 06:57

    分布式系统的优势是什么?

    当讨论分布式系统时,我们面临许多以下这些形容词所描述的 同类型: 分布式的、删络的、并行的、并发的和分散的。分布式处理是一个相对较新的领域,所以还没有‘致的定义。与顺序计算相比、并行的
    发表于 03-31 09:01

    HarmonyOS应用开发-分布式任务调度

    1. 介绍本篇CodeLab将实现的内容HarmonyOS是面向全场景多终端的分布式操作系统,使得应用程序的开发打破了智能终端互通的性能和数据壁垒,业务逻辑原子化开发,适配多端。通过一
    发表于 09-18 09:21

    HarmonyOS应用开发-分布式设计

    设计理念HarmonyOS 是面向未来全场景智慧生活方式的分布式操作系统。对消费者而言,HarmonyOS 将生活场景的各类终端进行能力整合,形成“One Super Device”,以实现
    发表于 09-22 17:11

    如何实现校园分布式网络测量系统的应用设计?

    本文所述测量系统主要是基于校园网络,实现一个具有分布式、可扩展性的网络测量平台。利用各种测量方法和测量工具,测量校园网访问公网和其他校园网络各种
    发表于 05-06 08:48

    各种分布式电源的电气特性

    PS:渗透率的概念:从字面上理解,“渗透”就是由分布式电源发出的功率进入(渗入)到配电系统,所谓的“率”就是由分布式电源发出的电和整个系统所消耗的电(或者说总发电量)的一个比值。
    发表于 07-12 07:54

    如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现、设备连接、跨设备调用等丰富的分布式API。随着越来越多的开发者投入
    发表于 12-13 18:07

    分布式操作系统的相关资料分享

    文章目录分布式操作系统嵌入操作系统集群操作系统集群系统管理
    发表于 12-22 07:23

    HarmonyOS应用开发-EducationSystem分布式亲子早教系统体验

    一、说明远程教育和多屏幕协作是智能教育的重要场景。 • 本CodeLab使用亲子早期教育系统来完成有关分布式早期教育算术问题和分布式益智游戏的综合案例。 • 它旨在帮助开发人员快速了解
    发表于 07-25 10:23

    分布式系统硬件资源池原理和接入实践

    提供更好的服务体验。 图 3 鸿蒙硬件资源池支持各类消费者场景 2.2 开发者场景 对于开发者来说,由于分布式硬件资源池将跨设备硬件调用的复杂度都封装在了系统底层,跨设备硬件复用本地
    发表于 12-06 10:02

    Windows平台分布式实时仿真系统

    Windows平台分布式实时仿真系统
    发表于 10-31 09:20 10次下载
    Windows<b class='flag-5'>平台</b>的<b class='flag-5'>分布式</b>实时仿真<b class='flag-5'>系统</b>

    分布式数据对象的产生背景、原理及开发案例

    在3月底发布的OpenHarmony v3.1 Release版本,新增了分布式数据对象特性。什么是分布式数据对象呢?本期就让我们一起来了解一下。
    的头像 发表于 04-27 15:01 1185次阅读
    <b class='flag-5'>分布式</b>数据对象的产生<b class='flag-5'>背景</b>、原理及<b class='flag-5'>开发</b>案例

    如何才能同步分布式系统的所有时钟?

    分布式系统由Tanenbaum定义,“分布式系统是一组独立的计算机,在”分布式系统 — 原理和范
    的头像 发表于 02-06 11:00 1272次阅读