

如何开发LAXCUS分布式应用软件(二)
source link: https://blog.51cto.com/u_15754465/5610544
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何开发LAXCUS分布式应用软件(二)
精选 原创Laxcus分布式应用软件的基本构成
为了全方位说清楚Laxcus分布式应用软件,上一篇咱们介绍了Laxcus分布式操作系统的体系架构,这一篇咱们介绍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应用软件类似。
1. Laxcus分布式应用软件的终端
和所有Java应用软件一样,启动Laxcus分布式应用软件,图形界面的入口函数是main函数 ,但是有点不同的是,Laxcus分布式应用软件的main函数需要返回一个整数值,0是表示启动成功,负数是启动失败,系统提供一个默认的启动失败列表,不确定的失败是-1,但是没有大于0的正整数。

启动Laxcus分布式应用软件的终端main函数
- Laxcus分布式应用软件的边缘端
在Laxcus分布式操作系统里,给边缘端分配的角色是中继器,它同时连接终端和云端,负责处理一些小型和实时的输入输出工作。尤其在安全要求比较高的应用场景,还有类似网关的作用,起到物理隔离终端和云端的作用。
边缘端以驻留方式运行在边缘服务器上。它即可以接受终端的指令和RPC调用,也可以主动向终端发送指令和RPC调用。它们之间的交互即可以是单向进行,也可以双向相互进行。
编写边缘端应用,需要继承系统提供的“TubServlet”类。这是一个基础类,Laxcus分布式操作系统启动边缘服务时,会主动在软件包中寻找这个类,找到“launch”方法启动它,停止是“stop”方法。这两个都是抽象方法,具体的功能由子类根据业务需求去实现。


Laxcus分布式应用软件边缘端基础类
3. Laxcus分布式应用软件的云端
相比终端和边缘端,云端的应用软件开发过程会比较复杂,开发者需要遵循“阶段”规则编写程序,“阶段”是Laxcus分布式编程的核心概念。云端应用软件运行过程中,会按照“阶段”规则和用户的参数要求,分裂成任意数量的软件模块,分散到不同的Laxcus集群节点上运行。运行过程中软件模块可以迭代,也可以继续分裂,最后它们会重新组织起来,将处理结果返回给终端或者边缘端。云端应用软件在运行过程中自由分裂和重组,这是单机应用软件不具备的能力,也是它们二者之间最明显的区别。所有云端应用软件模块拥有一个共同的“DistributedTask”超类,开发者依照“阶段”定义,从它的子类派生来实现应用业务。云端应用软件的分裂过程是由软件本身发出指令,应用容器来受理并执行,整个过程完全由操作系统来控制和管理,不需要人为操作。

DistributedTask超类接口
针对不同的业务,目前Laxcus分布式操作系统提供了三个分布式编程模型,它们是高度抽象化的API接口,开发者可以从这些API对象类中派生子类,将抽象方法和业务需求对接,就可能完成分布式编程。这种编程体验,和编写单机应用软件类似,并没有太多区别。如果全面理解了Laxcus分布式编程模型,这种编程甚至比编写单机应用软件更简单。
目前Laxcus分布式操作系统的三个分布式编程模型是:
- Conduct模型。用来处理高算力、大存储量、高复杂度、大规模和超大规模的分布式业务。这类业务普遍需要巨量的计算机才能完成,比如超高速空气流体计算、3D图像渲染等业务。
- Contact模型。用来处理低量级和中小规模的分布式业务。比如传统的EJB和Corba等业务。
- Establish模型。用来对计算机集群上的数据和业务进行大规模重组,比如数据的清洗和过滤工作。Establish模型处理的数据通常它们都在TB级和以上级别的规模。

系统阶段和节点的关系对照表
本篇介绍完毕,下一篇介绍LAXCUS分布式应用软件客户端的编程和注意事项。
下一篇咱们接着说。
- 赞
- 收藏
- 评论
- 分享
- 举报
</div
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK