探索响应式编程实践:Java事件驱动系统开发指南
项目地址:https://gitcode.com/RedElastic/reactive-stock-trader
响应式在实践中:一个完整的事件源项目实战教程 是一套由IBM Developer发布的12部分系列学习材料,旨在引领开发者从零到一构建实际的事件源项目。本参考架构是为了支持该系列课程而创建的,特别感谢IBM和IBM Developer提供的资源以及Lightbend的技术审查。
主要技术包括:
- Java
- Lagom
- Play
- Kafka
- Cassandra
学习单元概览
这个参考架构为IBM的"Reactive in Practice"系列提供了补充资料,涵盖以下主题:
- 事件风暴和“股票交易者”领域介绍
- UI原型设计与UI集成模式
- 基于领域模型的服务API转换
- 并发性、并行性和异步处理
- 事件溯源
- CQRS - 写入侧(命令与状态)
- CQRS - 读取侧(查询与视图)
- 集成模式下的事务处理
- 反应式集成模式
- 数据流处理
- 云中部署和监控反应式系统
- 回顾与总结
贡献
我们欢迎所有对本项目感兴趣的人参与贡献。只需fork仓库并发起PR即可。
安装与运行
项目支持本地开发、在本地Kubernetes环境(使用Minikube)上部署,以及通过UI和命令行进行交互。要开始,请按照下面的说明操作。
- 安装Java 8 SDK
- 安装sbt(Mac上使用
brew install sbt
) - 在IEX Cloud注册免费账户,获取用于股票报价和历史数据的沙盒服务
- 在Rollbar注册免费账户,并创建一个用于前端日志的访问令牌
- 使用
sbt runAll
启动后台服务
搭建IDE
IntelliJ IDEA 和VSCode都能很好地导入Lagom项目。为了最佳体验:
- 确保你的JDK设置为兼容Java 8的版本,即使你安装了更高版本的Java。
- 安装Lombok插件,以避免IDE警告。
测试后端服务
使用curl
和jq
确保服务正常工作。首先创建一个投资组合,然后执行几笔交易检查微服务是否正常运行。
应用场景
这项开源项目非常适合那些希望深入了解如何利用响应式编程、事件驱动和CQRS模式来构建微服务的开发者。不论你是初学者还是经验丰富的专业人员,都可以从中学到很多实用技巧。
项目特点
- 全栈教学:覆盖从UI到后台,包括事件源、CQRS和数据流处理。
- 真实案例:基于"股票交易者"的业务场景,提供直观的示例。
- 深度学习:12个单元的详细教程,全面解析关键技术和概念。
- 可扩展性:基于Kubernetes的部署方案,易于扩展和维护。
- 社区参与:开放源码,鼓励社区贡献。
如果你正在寻找一个深入了解Java响应式编程的项目,或者希望提升你的微服务开发技能,那么"Reactive in Practice"无疑是你的理想之选。现在就开始你的响应式编程之旅吧!