oldratlee / Reactive Practice At Taobao
Licence: other
♨️ Reactive @ 淘宝 | Reactive实践、推动、落地的记录与大会分享 | Flow Arch(流式架构)/Reactive Programming(RP/反应式编程)
Stars: ✭ 314
Programming Languages
flow
126 projects
Projects that are alternatives of or similar to Reactive Practice At Taobao
SwiftObserver
Elegant Reactive Primitives for Clean Swift Architecture #NoRx
Stars: ✭ 14 (-95.54%)
Mutual labels: reactive, reactive-programming
Entwine
Testing tools and utilities for Apple's Combine framework.
Stars: ✭ 306 (-2.55%)
Mutual labels: reactive, reactive-programming
purescript-pop
😃 A functional reactive programming (FRP) demo created with PureScript events and behaviors.
Stars: ✭ 33 (-89.49%)
Mutual labels: reactive, reactive-programming
Rx.Http
A reactive way to make HTTP Request in .NET Core 🚀
Stars: ✭ 62 (-80.25%)
Mutual labels: reactive, reactive-programming
Toy Rx
A tiny implementation of RxJS that actually works, for learning
Stars: ✭ 290 (-7.64%)
Mutual labels: reactive, reactive-programming
assembler
Functional, type-safe, stateless reactive Java API for efficient implementation of the API Composition Pattern for querying/merging data from multiple datasources/services, with a specific focus on solving the N + 1 query problem
Stars: ✭ 102 (-67.52%)
Mutual labels: reactive, reactive-programming
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-94.59%)
Mutual labels: reactive, reactive-programming
springboot-rsocketjwt-example
Example of using JWT with RSocket and Spring Boot
Stars: ✭ 26 (-91.72%)
Mutual labels: reactive, reactive-programming
react-mobx-router5
React components for routing solution using router5 and mobx
Stars: ✭ 58 (-81.53%)
Mutual labels: reactive, reactive-programming
Mp3ID3Tagger
🎶🎵A macOS application to edit the ID3 tag of your mp3 files. Developed with RxSwift and RxCocoa. 🎸🎼
Stars: ✭ 17 (-94.59%)
Mutual labels: reactive, reactive-programming
Akka
Examples and explanations of how Akka toolkit works
Stars: ✭ 20 (-93.63%)
Mutual labels: reactive, reactive-programming
Awesome Rxjs
A collection of awesome RxJS resources
Stars: ✭ 314 (+0%)
Mutual labels: reactive, reactive-programming
ureact
Minimalistic reactive library for c++
Stars: ✭ 122 (-61.15%)
Mutual labels: reactive, reactive-programming
Firefly
Firefly is an asynchronous web framework for rapid development of high-performance web application.
Stars: ✭ 277 (-11.78%)
Mutual labels: reactive, reactive-programming
KotlinReactiveMS
An educational project to learn reactive programming with Spring 5 and Kotlin
Stars: ✭ 33 (-89.49%)
Mutual labels: reactive, reactive-programming
fpEs
Functional Programming for EcmaScript(Javascript)
Stars: ✭ 40 (-87.26%)
Mutual labels: reactive, reactive-programming
servable
"simple" observable implementation based off RxJS & kefir Docs
Stars: ✭ 14 (-95.54%)
Mutual labels: reactive, reactive-programming
sample-spring-reactive
sample reactive microservices using spring 5, spring boot, spring webflux and project reactor
Stars: ✭ 26 (-91.72%)
Mutual labels: reactive, reactive-programming
bs-most
Reason/BuckleScript bindings for the Most.js reactive toolkit
Stars: ✭ 41 (-86.94%)
Mutual labels: reactive, reactive-programming
RxJava-Codelab
Codelab project for demonstration of RxJava features
Stars: ✭ 44 (-85.99%)
Mutual labels: reactive, reactive-programming
Flow Arch
(流式架构)/Reactive Programming
(RP
/反应式编程) Practice
One way ticket and of life to live, pockets full of sunshine, lots of love to give. -- La La Love On My Mind, Ann Winsborn
体验生命的单程票,装满阳光口袋可以给你许许多多的爱。 —— La La Love On My Mind, Ann Winsborn因为单程(
one-way
)的生命,所以我们才能并需要全力生活。异步(
async
)的系统,像这首歌一样流畅的节奏停不下来(non-blocking
)。点了链接听听,摇起来~
Reactive
/反应式
什么是 Reactive
说明了
- 技术系统应用达成的 期望要求
- 架构上的 思路理念
- 技术上的 核心手段
即也是Reactive
本身的定义。具体参见:
- 响应式宣言
- 中文翻译得有些别扭,可以对照着英文原版看:The Reactive Manifesto。
准备/学习/了解的资料/书籍
全异步化/流式架构 需要 捕捉操作并编排运行(延迟执行)。
- 捕捉操作需要
Java 8 Lambda
语法的支持来精简表达。 - 编排执行表达了业务逻辑。如何有效表达编排(即业务逻辑)对应了
FP
上的思路做法。-
OOP
有效表达了 业务概念(模型/数据) - 而
FP
则有效表达了 业务逻辑(流程/转换) - 两者互为补充
-
Java 8
-
《Java 8实战》:面向Java 8的技能升级,包括Lambdas、流和函数式编程特性。
- 实战系列的一贯风格让自己快速上手应用起来。
-
Java 8
支持的Lambda
是精简表达在语法上提供的支持。 -
Java 8
提供了Stream
,学习和使用可以建立流式编程的认知。
-
《Java 8函数式编程》
- Java 8的函数式用法的入门佳作,非常薄148面,简直不敢相信这么小的篇幅讲了这么多内容。
- 第9章讲并发程序编写,只短短10来面就广度了不少内容,
几个关键点及其关联异同的讲解闪烁着思辨的光辉,很是精彩! 🌈
RxJava
-
《Learning RxJava: Reactive Programming with Java and ReactiveX》 英文版 2017年6月出版
-
RxJava 2
,循序渐进地介绍了使用和整体思路,推荐! - 第一章 Thinking Reactively,讲了反应式设计和编程上的世界观和理念,推荐赶紧看看先~ 😘
-
-
《Reactive Programming in Kotlin: Design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring》 英文版 2017年12月出版
- 也相当不错。用的是
Kotlin
语言。
- 也相当不错。用的是
-
《Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications》 英文版 2016年10月出版
- 讲的是
RxJava 1
,思路是无区别的,也可以看看。
- 讲的是
函数式编程
- 《函数式编程思维》:科普读物。
-
《Java函数式编程》:讲的主题是函数式编程,用Java语言描述。
- 包含:
FP
思维、FP
基础类库的讲解,偏重思想和基础。有了思维和基础,实际的实践和应用就会举重若轻。 - 讲解得平实、循序渐进,所以书有点厚500面
- 基于
Java
语言描述、手把手的构建FP
的基础运行时结构,极大地降低了深入理解FP
的门槛和难度。 - 书评/译序 http://qinghua.github.io/functional-programming-in-java/
- 包含:
有哪些相关的类/库
这里列的是比较广泛的相关。使用方式和思考方式是互通的,大家去学习和理解。
Java 8
的Stream
1. 即包java.util.stream
。
ReactiveX
(Rx
)/RxJava
2.
ReactiveX
(Rx
)是 Reactive eXtension
(Reactive
扩展)的缩写。
提供了Reactive
编程支持,提供配套设施/工具的实现。
- 官网 http://reactivex.io/
-
RxJava 2
的Flowable
类的JavaDoc
文档,图文并茂,非常值得一读! -
GitHub
仓库 https://github.com/ReactiveX/RxJava -
可视化
Reactive
操作符 - RxJS Marbles,可拖拽元素去理解每一个操作符的含义,非常值得玩一玩!
Reactive Streams
(RS
)
3. Reactive Streams
(RS
)规范 简单了解 一下就好~
# 在Java中,即是Java9 Flow API。
Reactive
的核心设计思路和底层模式,RS
只提供的了API
(4个接口)及规范(这个接口及其之间的实现契约),不包含实现。
- 『核心』是指:全能、极简
- 『底层』是指:比较原始,业务开发一般不会使用直接使用/实现这个
API
来编写业务逻辑。
Rx
是业务开发使用的框架/库,而Reactive Streams
是规范API。在
Java
中,RxJava
与Reactive Streams
的关系,可以类比成:
Spring MVC
与Servlet API
MyBatis
与JDBC API
- 官网 http://www.reactive-streams.org/
-
RS
规范的GitHub
仓库,包含了- 规范概述 https://github.com/reactive-streams/reactive-streams-jvm#reactive-streams
- 规范及其设计上的用意 https://github.com/reactive-streams/reactive-streams-jvm#specification
-
Java
语言描述的- 接口代码
-
TCK
(即 规范兼容测试套件)代码
Reactive Streams介绍
在软件大会上自己做的主题分享
- QCon2018北京 分享 @ 2018-4-21:
- 2018携程技术峰会 分享 @ 2018-11-23:
- Reactive架构升级实践 —— 淘宝全站业务的全异步流式架构升级
- PPT的
PDF
文件 - 进一步包含2018双11的进展
- 2019 TOP100全球软件案例研究峰会 分享 @ 2019-11-16:
- 面向流量的自适应高可用架构 —— 淘宝应用架构升级实践
- PPT的
PDF
文件 - 对应于
Reactive
架构/系统设计中的Responsive to workload/Elastic
,或者说成上面我表达成的『面向流量/负载』的高可用 :) - 分享过去一年多的思考、实现 与 2019双11实践落地及其收益效果。
- 高可用(HA) 不单是 应对资源失效的高可用,还有 面向流量的高可用。
在今天对于应用架构来说,后者更是痛点,但业界的关注、思路、实践要落后很多。 - 让我们一起更多地关注 面向流量的高可用!大家和业界能更多正面思考与解决这只房间里的大象:
流量不确定性带来的稳定性问题!
相关资料
- Reactive Programming
- Rx
- FP
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].