All Projects → oldratlee → Reactive Practice At Taobao

oldratlee / Reactive Practice At Taobao

Licence: other
♨️ Reactive @ 淘宝 | Reactive实践、推动、落地的记录与大会分享 | Flow Arch(流式架构)/Reactive Programming(RP/反应式编程)

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

知识共享协议(CC协议) Attribution-NonCommercial-ShareAlike CC BY-NC-SA
GitHub stars GitHub forks GitHub watchers

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本身的定义。具体参见:

准备/学习/了解的资料/书籍

全异步化/流式架构 需要 捕捉操作并编排运行(延迟执行)。

  • 捕捉操作需要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

函数式编程

有哪些相关的类/库

这里列的是比较广泛的相关。使用方式和思考方式是互通的,大家去学习和理解。

1. Java 8Stream

即包java.util.stream

2. ReactiveX(Rx)/RxJava

ReactiveXRx)是 Reactive eXtensionReactive扩展)的缩写。

提供了Reactive编程支持,提供配套设施/工具的实现。

3. Reactive Streams(RS)

Reactive StreamsRS)规范 简单了解 一下就好~
# 在Java中,即是Java9 Flow API。

Reactive的核心设计思路和底层模式,RS只提供的了API(4个接口)及规范(这个接口及其之间的实现契约),不包含实现。

  • 『核心』是指:全能、极简
  • 『底层』是指:比较原始,业务开发一般不会使用直接使用/实现这个API来编写业务逻辑。

Rx是业务开发使用的框架/库,而Reactive Streams是规范API。

Java中,RxJavaReactive Streams的关系,可以类比成:

  • Spring MVCServlet API
  • MyBatisJDBC API

Reactive Streams介绍

Reactive Stream的核心概念及其关系.

Reactive Stream的时序图.

在软件大会上自己做的主题分享

相关资料

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].