你好,这是 JavaGuide 的「优质 Java 开源项目推荐」第 13 期,每月一期,每一期我都会精选 5 个高质量的 Java 开源项目。
本期项目概览:
- Mini-Compiler:手写入门级编译器
- HummerRisk:云原生安全平台
- oms-erp:开源的订单管理系统
- Dynamic Tp:轻量级动态线程池
- hertzbeat:易用友好的监控告警系统
Mini-Compiler:手写入门级编译器
项目介绍 :
- 一个 Mini 版本的入门级编译器。
- 基于 Java 语言编写,有助于初学者了解面向对象编程语言编译器的运行原理。
代码示例 :
可以看到,代码注释还是非常清晰的,一共只有 7 个类。
不过,想要搞懂这个项目难度会远大于普通的业务类型项目,像核心类 Parser
(语法解析器)的代码量接近有 2000 行(其它 6 个类代码量比较少)。
项目地址 :https://github.com/chenyuwangjs/A-tutorial-compiler-written-in-Java 。
相关资料 :
- 写给小白的开源编译器[1]
- 700 行手写编译器(视频)[2]
- 《编译器设计》[3]
HummerRisk:云原生安全平台
项目介绍 :
- 一个开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。
- 支持混合云安全治理、K8S 容器云安全治理。
混合云安全治理:
- 对主流的公(私)有云资源(几乎支持所有云)进行安全合规检测
- 快速查看混合云的各种资源态势与云资源拓扑图
- 漏洞检测
- 一键获取合规报告
- ......
K8S 容器云安全治理:
- 关联多个 K8S 集群,统一查看各个关联环境的资源态势
- 检测底层主机/虚机中存在的问题
- 检测 K8S 的部署编排文件
- ......
相关地址 :
- 项目地址:https://github.com/HummerRisk/HummerRisk
- 文档:https://docs.hummerrisk.com/
oms-erp:开源的订单管理系统
项目介绍 :
- 一站式中台系统包括订单管理系统 OMS/电商 ERP、库存 WMS 统一管理系统和 SAP 财务管理系统等。
- 云原生,基于微服务架构、容器、DevOps 等技术。
业务架构 :
技术架构 :
技术架构.png
相关地址 :
- 项目地址:https://github.com/FJ-OMS/oms-erp
- 官网:www.flightsteed.com/
Dynamic Tp:轻量级动态线程池
Dynamic Tp 概览
项目介绍 :
- 一款基于 SpringBoot 的轻量级动态线程池,参考美团线程池实践[4],内置监控告警功能,提供多种报警维度。
- 支持主流配置中心(支持 Nacos、Apollo,ZooKeeper、Consul、Etcd),并且,所有配置都放在配置中心,对业务代码零侵入。
技术架构 :
Dynamic Tp 技术架构
相关地址 :
- 项目地址:https://github.com/dromara/dynamic-tp
- 官网:https://dynamictp.cn/
hertzbeat:易用友好的监控告警系统
项目介绍 :
- 一款开箱即用的监控告警系统,由 Dromara 孵化,目前已是码云 GVP 项目。
- 支持网站,API,PING,端口,数据库,操作系统等监控类型,支持邮箱,短信,webhook,钉钉,企业微信,飞书机器人等告警通知,拥有易用友好的可视化操作界面。
项目故事 :
hertzbeat 的作者本人目前已经离职,这个项目是其全职维护的第一个开源项目,值得点赞和鼓励!
如果你也想参与到这个项目开发的话,建议可以去看看这个项目的项目看板有哪些 todo,看板地址:https://github.com/dromara/hertzbeat/projects/1 。
相关地址 :
- Github 地址:https://github.com/dromara/hertzbeat
- Gitee 地址:https://gitee.com/dromara/hertzbeat
- 官网:https://hertzbeat.com/
你可以通过 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)找到更多优质的 Java 开源项目。
- Github 地址:https://github.com/CodingDocs/awesome-java
- Gitee 地址:https://gitee.com/SnailClimb/awesome-java
- 在线阅读:https://javaguide.cn/open-source-project/
参考资料
[1]
写给小白的开源编译器: https://www.cnblogs.com/xueweihan/p/16283249.html
[2]
700 行手写编译器(视频): https://www.bilibili.com/video/BV1Kf4y1V783/
[3]
《编译器设计》: https://book.douban.com/subject/20436488/
[4]
美团线程池实践: https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html
·········· END ··············