分布式系统开发注意点_分布式系统开发注意事项

分布式系统开发注意点

开发分布式软件系统时,要考虑许多因素。 如果您甚至不知道第一句话中我在说什么,那么让我为您提供一些见解,示例以及有关分布式系统的实例。

总览

分布式系统是指多个物理硬件设备与单独的离散用户交互并通过这些硬件设备协作以为这些离散的单独用户实现不同且相似的目标。 有时,这些设备使用服务器作为集线器以点对点模式工作,以了解彼此之间的连通性,而其他设备则通过单个或一组集中式服务器进行协作和协调,例如

类似于Extranet的系统,供方用户通过Web浏览器审阅文档,然后在其浏览器中单击工作流,最终将文档传真给另一组用户,这些用户应提供带有足够标签(即带有条形码)的服务。 这个循环使封闭的系统可以设计和开发分布式软件。 传真的接收者填写并做任何需要作为其纸本世界的一部分的事情(包括随着时间的流逝接收许多传真并将其全部发送回去,这是另一篇有关电子签名的博客文章的案例) 。 接收到的传真服务器在接收到入站原始文档后,会将接收到的传真图像“移交给”另一组用户(甚至是发起出站传真的同一用户)进行整理和处理,以在接收下对其进行检查和处理在他们的浏览器中再次进行工作流程。

在这里,您有许多系统在数据中心内协同工作以实现不同的目标。 您有一些用于用户界面的Web服务器。 用于工作流系统,分析和报告的某些数据持久性层。 您有用于管理传入/传出传真传输的传真服务器(我自己喜欢Dialogic Brooktrout传真板,我自己http://www.dialogic.com/Products/fax-boards-and-software/fax-boards.aspx )。 您具有入站和出站标签,标记,排序规则,扫描和对象字符识别组件(通常,根据设计,一些不同的服务器可能并不仅是一个单独的实例,而且取决于规模可能只有六个左右)。

所有这些组件下面的结构在所有这些组件之间都是一致的。 这始于OSI层,因为首先和大多数分布式系统是通过约束的物理层连接的,所以让我们从这里开始。

物理层约束

OSI层有7层或9层,具体取决于您与谁交谈。 在某些团队中,第8层和第9层分别是政治和宗教,因为必须考虑到围绕设计,开发,部署和维护这些系统的所有交互的社会结构,方法论和人类行为。 如果您不满意,那么您的应用程序层用户体验也可能会出错。 第1-7层(较常见的层,通常是更好理解的层)对计算机如何通过用户或计算机的接口以及通过另一计算机或另一用户的接口到另一台计算机的数据移动方式进行分类。 如果没有重构或在这些层中创建新软件,您将永远无法在基础层之外做任何事情。 因此,很高兴知道它们是如何工作的。 您可以在自己的软件程序编写工作中做到这一点(请,请相当高兴),以更好地平衡处理约束。

http://fab.cba.mit.edu/classes/MIT/961.04/people/neil/ip.pdf的图30-1映射了Internet协议套件的许多协议及其对应的OSI层。

软件在硬件设备中继续运行的位置

最重要的是本地机器硬件的操作系统及其实现。 我很难选择真正构成底层架构的许多或其他任何层或系统,具体取决于您的托管服务提供商,而该提供商最终还是一个供应商,所以这又是另一回事了……除非他们运行通过open编写的软件您已经完成了源项目工作,但我离题了…… Linux编程接口:Linux和UNIX系统编程手册是我喜欢Linux的资源。

怎么办?

在过去的九年中,由于廉价(有时便宜)的商品硬件已成为我们所预见的现实,因此许多经典计算机概念已变得更容易实现。 这使得并行和分布式计算平台,分布式文档和键/值存储库,分布式发布/订阅经纪人,发布者和消费者系统,甚至具有不可变结构的参与者模式也开始成为该结构的一部分。 这里的难题是这些市场领域的竞争和起步阶段,甚至还没有“ 跨越鸿沟 ”。

现在,说完所有这些……就显得很突出。 “ ZooKeeper提供了正确性和协调性的关键点,这些要点必须比所有希望将其本质上构建为自己的关键逻辑的系统都具有更高的交易保证。” 卡米尔·富尼耶(Camille Fournier)在我的一篇博客文章中让我看到了这一点, 网址为http://whilefalse.blogspot.com/2013/05/zookeeper-and-distributed-operating.html?spref=tw ,这是因为Zookeeper是如何与许多此类动物联系在一起的现有类型的系统。 由于这些系统尚未在市场上成熟(到目前为止,它已经在早期采用者中充分成熟了),因此它们之间和内部存在一些一致性,因此我们必须开始(从字面上)研究,支持和承诺。

现在,关于Zookeeper的另一个好处是,已经开发了一个开放源代码库,并且(在所有条件相同的情况下)不断维护该开放源代码库,使开发Zookeeper开发的可重复模式更加容易http://curator.incubator.apache.org/ 。 如果您从未使用过Zookeeper,建议您从http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html开始。

参考:来自JCG合作伙伴 Joe Stein的分布式系统开发注意事项 ,位于All Things Hadoop博客上。

翻译自: https://www.javacodegeeks.com/2013/06/distributed-system-development-considerations.html

分布式系统开发注意点

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

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

相关文章

电子电气架构——车载ECU刷写工具vFlash简介

电子电气架构——车载ECU刷写工具vFlash简介 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值&a…

ldap java_使用LDAP保护Java EE6中的Web应用程序

ldap java在上一篇文章中,我们解释了如何在通过传输层安全性(TLS)/安全套接字层(SSL)传输数据时保护数据。 现在让我们尝试了解如何为使用LDAP服务器进行身份验证的基于JEE 6的Web应用程序应用安全机制。 目的&#x…

mysql 一致性hash_一致性hash算法在分表分库中的应用

一致性hash算法结构图 分表分库结构图 可进行循环冗余存储,顺时针存储到下一个物理节点(非虚拟节点)package com.haiziwang.platform.kmcsms.route.algorithm;import java.util.Collection;import java.util.SortedMap;import java.util.TreeMap;/*** 一致性Hash算法…

生产中的性能分析

生产中的性能分析 如果您在Java应用程序的性能方面遇到了一些严重问题,那么很可能您会知道线程分析的价值。 但是您知道应该使用哪个分析器吗? 探查器使用两种基本技术-采样和仪器。 采样分析器 采样探查器包括定期向JVM询问所有当前活动线程的当前执行…

mysql用com_MySQL 使用教程

关于 MySQLMySQL 是最流行的开源数据库。本文简明的讲解了 MySQL 如何下载安装到使用的整个过程。MySQL 支持多种特性:使用 C和 C编写,并使用了多种编译器进行测试,保证了源代码的可移植性。支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell…

c++ 一维数组长度_每天一点C / 一维数组和指针

哈喽,我是老吴,继续记录我的学习心得。每天一点系列是我对微习惯的践行。现在能做到每天一点 C,将来就会有更多的每天一点系列,没人规定嵌入式软件工程师就只能学习 C 语言和折腾 Linux,不要给自己设限。为什么是每天一…

mysql事务中怎么更改空值_MySQL事务

1.事务1.事务特性--ACIDAtomicity(原子性):要么全做,要么不做,不能只做一半(银行转账)Consistency(约束性):事务的前后,约束都能满足Isolation(依赖性):事务之间是独立的,互不影响的Durability(持久性):事务执行之后,事物的结果可以持久保存2.事务隔离级别:read uncommitted:可…

线程池实现填充短信_填充一个池需要多少个线程?

线程池实现填充短信在最近几个月中,我们一直看到很小但持续的操作失败,但有一个奇怪的异常– org.springframework.jdbc.CannotGetJdbcConnectionException –“无法获得JDBC连接; 嵌套异常是java.sql.SQLException:客户端尝试检出…

jsf标签_多个动态包含一个JSF标签

jsf标签每个JSF开发人员都知道ui&#xff1a;include和ui&#xff1a;param标签。 您可以包括一个facelet&#xff08;XHTML文件&#xff09;并传递一个对象&#xff0c;该对象将在包含的facelet中可用&#xff0c;如下所示&#xff1a; <ui:include src"/sections/co…

spring 长轮询_Spring集成文件轮询和测试

spring 长轮询我最近实施了一个小项目&#xff0c;在该项目中&#xff0c;我们必须轮询文件夹中的新文件&#xff0c;然后在文件内容上触发服务流。 Spring Integration非常适合此要求&#xff0c;因为它带有一个通道适配器 &#xff0c;该适配器可以扫描文件夹中的新文件&…

您将在下一个项目中使用JSF吗?

上周有一篇很棒的stackoverflow博客文章&#xff0c;主题是“ JavaScript框架的残酷生命周期” 。 这篇文章是关于Javascript UI框架&#xff08;angularjs&#xff0c;angular&#xff0c;jquery和react&#xff09;的流行和流行的速度。 这篇文章的关键指标是每月关于框架的问…

使用java自带的日志管理_java日志管理

1.相关概念日志统一框架(日志门面)&#xff1a;apache commons logging、slf4j日志实现框架(实现层)&#xff1a;JDK自带的logging(java.util.logging)、log4j、Java Util Logging、log4j2、logback.(1)JDK自带的logging(java.util.logging)用法&#xff1a;1 importjava.util.…

安卓4.4玩java_Android4.4运行过程中闪退java.lang.NoClassDefFoundError

上周五项目测试时发现一个奇怪的Bug&#xff0c;项目中依赖了一个第三方框架&#xff0c;但是在android4.0-4.4.4之间的系统中运行会直接闪退&#xff0c;抛出错误异常为java.lang.NoClassDefFoundError。第一次遇到这样的问题&#xff0c;google了好久找到了以下几个原因&…

update se_Java SE 7 Update 25 –发行说明进行了解释。

update se昨天是CPU日。 Oracle通过6月的Java重要补丁更新发布了Java SE更新25 。 在4月的最后一次重大更新之后&#xff0c;这是最后一次与Oracle其他所有Oracle产品都不适合的Oracle重要补丁更新计划。 从2013年10月开始 &#xff0c;Java安全修补程序将遵循四个年度安全发布…

java scavenge_请概述一下Java中都有哪些垃圾收集器

1、Serial(串行GC)收集器Serial收集器是一个新生代收集器&#xff0c;单线程执行&#xff0c;使用复制算法。它在进行垃圾收集时&#xff0c;必须暂停其他所有的工作线程(用户线程)。是Jvmclient模式下默认的新生代收集器。对于限定单个CPU的环境来说&#xff0c;Serial收集器由…

阿帕奇光束

Apache Beam是一个开放源代码统一模型&#xff0c;用于定义批处理和流数据并行处理管道。 使用一种开源的Beam SDK&#xff0c;您可以构建一个定义管道的程序。 然后&#xff0c;该管道由Beam支持的分布式处理后端之一执行&#xff0c;这些后端包括Apache Apex &#xff0c; Ap…

java音乐登陆界面_第四篇——Spring音乐登录界面设计及实现(C#)

Spring音乐播放器&#xff0c;我们小组设计其启动时有一个登录界面&#xff0c;用户初次可以注册&#xff0c;输入用户名和密码&#xff0c;点击注册即将输入信息保存到register文本文件中&#xff1b;如果已有用户名&#xff0c;输入用户名和密码&#xff0c;点击登录&#xf…

java中线性结构的例子_java数据结构--线性结构

一、数据结构数据结构由数据和结构两部分组成&#xff0c;就是将数据按照一定的结构组合起来&#xff0c;这样不同的组合方式有不同的效率&#xff0c;可根据需求选择不同的结构应用在相应在场景。数据结构大致分为两类&#xff1a;线性结构(如数组&#xff0c;链表&#xff0c…

Spring Boot和JSP

本指南展示了如何使用Spring Boot通过JSP创建MVC Web应用程序。 先决条件&#xff1a; Eclipse IDE&#xff08;最新版本&#xff09; Maven的4 Java 1.8 1.创建Maven Web项目 打开eclipse&#xff0c;然后创建一个新的Maven Web项目&#xff0c;并将其命名为SpringBootWe…

判断用户名和密码是否正确java_facebook中如何判断用户名和密码是否正确

Do you hear the angel?Do you think that this really has the angel in the world?We knew from the story in the book, the angel contain the wing of the beauty, beautiful face , the mind of the docile, generous breadth of view, they would like to sacrifice t…