组件云 OSGI 微服务 容器 云计算
可伸缩软件模型,应该像操作系统一样,能够对自己的模块,进行独立安装,启动,卸载等操作。同样的对于分布式软件模型来说,应该向计算机网络一样,具有路由,网卡等功能组件。本系统抽象操作系统模型和计算机网络模型,开发了一款可应用于单机和分布式环境的组件模型。 该模型拥有以下几点特征,组件间低耦合,分布式环境下,组件可动态扩容,动态迁移,异常恢复。不依赖于复杂的云计算环境,也不依赖于Docker容器技术,所有都在自己掌控之中,可以看做是一种轻量级Java容器技术,功能强大,值得借鉴。
名称 | 类型 | 介绍 |
---|---|---|
coreos | 全部 | 系统内核,提供了组件的运行环境,并提供了管理组件的相关接口 |
admin | 分布式 | 系统管理,分布式环境下,对组件统一管理的相关功能。 |
network | 分布式 | 系统网卡,抽象网卡功能,用于组件间夸主机通讯。 |
route | 分布式 | 系统路由,抽象路由功能,用于网卡组件间的寻址调用。 |
业务组件,将一个传统的Web系统,进行模块化拆分。并且部署于CoreOS系统内核之上,从而实现了改Web系统的,灵活的架构变迁。具体细节不在详述。
CoreOS提供了命令行接口和Web界面操作接口。支持远程Telnet连接管理,Web界面支持WebSocket远程连接管理。
下图演示系统模块拆分之后的灵活性,可以对业务模块,动态的安装,卸载。并且可以在主机间动态的迁移模块,扩展模块,并且手动杀死指定模块后,系统可以将模块迁移到其他主机。模块多个实例时,也可以进行负载均衡调用。 Web界面提供了可视化的操作,和WebSocket远程连接窗口,用于管理组件。
系统还有其他特性和设计细节,这里就不在详述。