如何开发 LAXCUS 分布式应用软件(二):基本构成
为了全方位说清楚 Laxcus 分布式应用软件,上一篇咱们介绍了 Laxcus 分布式操作系统的组织体系,这一篇咱们介绍 Laxcus 分布式应用软件的基本构成。
先上几张图,大家很感性感受一下。这些都是遵循 Laxcus 分布式编程架构设计开发的应用软件,有字符控制台下运行的应用软件,也有图形桌面环境下运行的图形应用软件。
上一篇说了,Laxcus 分布式应用软件会在终端、边缘端、云端三个区间运行,上面这些都有 Laxcus 分布式应用软件在终端的运行部分。
边缘端软件和云端软件都是后台运行,不具备可视化,它们都接受终端的指令和 RPC 调用,处理完成后将结果返回给终端。
编写 Laxcus 分布式应用软件,可使用的编程语言有 Java、C、C++。它们的分工是:Java 负责表层,比如 UI、RPC 的工作。表层采用 Java 因为它有跨平台的能力,同时对于程序员来说,Java 相比 C、C++更容易编写,稳健性也更强。C、C++负责底层工作,主要是处理执行各种算法和硬件 IO,采用 C、C++能够获得更快的速度,这在大规模、超大规模分布式场景中是非常重要。Laxcus 分布式应用软件的特点,和 Andorid 应用软件类似。
一、LAXCUS 分布式应用软件的终端
和所有 Java 应用软件一样,启动 Laxcus 分布式应用软件,图形界面的入口函数是 main 函数 ,但是有点不同的是,Laxcus 分布式应用软件的 main 函数需要返回一个整数值,0 是启动成功,负数是启动失败,系统提供一个默认的启动失败列表,不确定的失败是-1,但是没有大于 0 的正整数。
二、Laxcus 分布式应用软件的边缘端
在 Laxcus 分布式操作系统里,给边缘端分配的角色是中继器,它同时连接终端和云端,负责处理一些小型和实时的输入输出工作。尤其在安全要求比较高的应用场景,还有类似网关的作用,起到物理隔离终端和云端的作用。
边缘端以驻留方式运行在边缘服务器上。它即可以接受终端的指令和 RPC 调用,也可以主动向终端发送指令和 RPC 调用。它们之间的交互即可以是单向进行,也可以双向相互进行。
编写边缘端应用,需要继承系统提供的“TubServlet”类。这是一个基础类,Laxcus 分布式操作系统启动边缘服务时,会主动在软件包中寻找这个类,找到“launch”方法启动它,停止是“stop”方法。这两个都是抽象方法,具体的功能由子类根据业务需求去实现。
三、LAXCUS 分布式应用软件的云端
相比终端和边缘端,云端的应用软件开发过程会比较复杂,开发者需要遵循“阶段”规则编写程序,“阶段”是 Laxcus 分布式编程的核心概念。云端应用软件运行过程中,会按照“阶段”规则和用户的参数要求,分裂成任意数量的软件模块,分散到不同的 Laxcus 集群节点上运行。运行过程中软件模块可以迭代,也可以继续分裂,最后它们会重新组织起来,将处理结果返回给终端或者边缘端。云端应用软件在运行过程中自由分裂和重组,是单机应用软件不具备的能力,是二者最明显的区别。所有云端应用软件模块拥有一个共同的“DistributedTask”超类,开发者参照“阶段”定义,从它的子类派生来实现应用业务。
针对不同的业务,目前 Laxcus 分布式操作系统提供了三个分布式编程模型,它们是高度抽象化的 API 接口,开发者可以从这些 API 对象类中派生子类,将抽象方法和业务需求对接,就可能完成分布式编程。这种编程体验,和编写单机应用软件类似,并没有太多区别。如果全面理解了 Laxcus 分布式编程模型,这种编程甚至比编写单机应用软件更简单。
目前 Laxcus 分布式操作系统的三个分布式编程模型是:
1. Conduct 模型。用来处理高算力、大存储量、高复杂度、大规模和超大规模的分布式业务。这类业务普遍需要巨量的计算机才能完成,比如超高速空气流体计算、3D 图像渲染等业务。
2. Contact 模型。用来处理低量级和中小规模的分布式业务。比如传统的 EJB 和 Corba 等业务。
3. Establish 模型。用来对计算机集群上的数据和业务进行大规模重组,比如数据的清洗和过滤工作。Establish 模型处理的数据通常它们都在 TB 级和以上级别的规模。
本节介绍完毕,下一篇介绍具体的分布式编程和注意事项。
了解更多 Laxcus 分布式操作系统的图形设计、网络通信、分布式计算、分布式存储、大数据、边缘计算、人工智能、云原生、安全管理、应用软件开发,和其它好玩的信息,请关注公众号“Laxcus 分布式操作系统”,或者联系小编微信,加入产品技术群,让我们一起探讨最新的技术知识!
版权声明: 本文为 InfoQ 作者【LAXCUS分布式操作系统】的原创文章。
原文链接:【http://xie.infoq.cn/article/e7ef1da6a06b705f059e093c6】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论