Hydra 开源分布式操作系统
Hydra 开源分布式操作系统
摘要 / 简介
你想拥有‘上帝之眼’吗?你渴望力量吗?你希望一切信息尽在掌控吗?这个时代,数据即使世界!
Hydra + Radium 成就你的梦想,专为"TJ"人打造的数据“主脑”,一切信息尽在掌握之中。为你打造独一无二的的个人TB-PB级数仓和搜索引擎,你的专属’上帝之眼’,一切数据为所欲为!
简易和多种部署模式,不一定非要Linux!不一定非要K8S!不一定非要Hadoop!集成统一的丐版配置也能玩转TB-PB级数据。
不会集群?不会中间件?不会分布式?不会云计算?我是小白?Don`t worry,持续更新的保姆级教程和实例最小系统,系统可大可小,丐版技术也能玩转云和大数据。
文档地址:https://docs.nutgit.com/docs/hazelnut_sauron_zh_cn
仓库地址:https://github.com/DragonKingpin/Hydra
字多不看?太高端听不懂?几个场景助你快速了解HYDRA和其关联项目。
构造你的私人知识库,关联任何你感兴趣的知识图谱(音乐、电影、视频、小说、美食、新闻、学术等),生成巨型知识字典和图谱,并交给GPT等大模型给你生成属于你的上帝报告。
海量数据,任你处置,你可以打造自己的数据天眼,甚至可以乘坐时光机,在数据世界中随意穿行。你就是上帝,历史的变迁,触手可及。
打造你的个人GPT,随着算力平民化、大模型技术的平民化。未来,你不想拥有自己的GPT吗?你只需要不断收集属于你的数据集,未来打造你的专属GPT、Diffusion等
我关注业务,我只想赚钱,我只想写论文,Ah!Hydra + Radium的目标正是助你快速构建大规模爬虫引擎,打造你的专属网络数据采取系统。
我对爬虫没兴趣,我想要一个中台系统,快速自动化部署多种多样的服务和任务。Hydra为你最大化抽象,多种任务一个接口。
10万行源码,3A史诗巨献
该仓库为Java 11实现版本(由C/C++版本重构),非GUI大部分不直接基于第三方框架。 此外由于本项目工程量、复杂度和工作量较大,本人精力、能力有限,错误和功能完整性不足是不可避免的,还希望各位读者大佬批评指正。
最后,由于本人精力和工作时间等问题,该公开版本为beta版本,一部分功能未完全实现,后续会不断迭代,欢迎关注。
什么是 HYDRA,他能干嘛?
Hydra 是由 DragonKing(undefined) 和其团队原创的,面向跨平台PB级别云计算、数据仓库、多任务调度、MapReduce、通信、服务化、抽象化分布式操作系统。
其设计理念是基于对中台架构的创新和一体化,并尝试构造更一致的操作内核, 目前的设计尝试由一个迷你中台和云系统(豆子坚果云)不断自底向上迭代。
支持统一高度抽象化的任务、事务、服务等编排,一套接口,可分级、可本地、可集群。
可多级、可嵌套的编排系统,支持配置域管理、复杂配置动态解耦、可继承和重写的多域配置管理。
可事务化抽象进程、线程模型,让远端服务通过RPC或通信组件通过一套接口,像本地进程一样进行统一管理。
可事务图化编排方法论设计,就像TensorFlow,更抽象简单的服务、任务设计模式。事务和任务编排支持序列和并行两种模式,更支持性能模式。确保事务绝对执行、回滚、性能执行、并行等多种范式。
面向统一解释器模式方法论和过程化设计,事务和任务编排逻辑化,支持循环控制、条件控制、散转控制、原子化等。
抽象统一任务管理器体系,统一生命周期设计,多类任务一套“任务管理器”,就像本地系统一样简单。
抽象统一系统架构体系,可中心化、可联邦化、可链式化,一切皆有可能。
抽象统一文件系统,基于Common VFS 统一文件系统管理,从复杂底层存储中解放。
抽象统一数据处理体系,泛容器化思想,抽象化DAO、DTO、Data Manipulation架构,一切皆可是Map、List、Set和Table等。
抽象化部署模式和抽象云部署,无论是任何系统、本地进程、虚拟机部署、容器部署等。Hydra为您统一,“小程序”化进程模型,就像Springboot一样简单。
基于分治和MapReduce思想设计,面向大数据处理处理系统设计。
高性能RPC设计基于Netty和NIO,更好的性能呈现。
传统实例化、IOC化、C/C++风格化,多种对象生命周期模式,更有趣的系统设计。
可分级、分组、嵌套、级联的设计方法论,确保更灵活的大型系统设计,确保系统结构清晰、规整、可视、整整齐齐。
无需担心抽象,无需担心"吹牛逼",我们尽可能通过实际案例和有效代码,展示系统功能,也欢迎commit。——以实现小型爬虫搜索引擎为例。
架构体系
微服务与分布式服务编排系统(服务树、场景树、服务发布、统一服务注册、发现、管理系统等)
分布式任务系统(小程序系统、分布式进程[执行单元]、子系统、统一资源管理、分配接口系统)
统一多任务调度、配置、编排系统
分布式配置管理系统(就像 Windows 注册表)
分布式运维系统(部署树)
统一缓存库和查询优化库、支持LRU、冷热优化、页面缓存、页面LRU、多级缓存等多策略实现。
Radium 分布式爬虫和搜索引擎数据取回、任务编排、处理、持久化框架
统一消息分发系统
RPC、MQ、RDB等中间件抽象系统