@@ -142,6 +142,40 @@ private static void pushExample() {
142
142
* LATEST - Keeps only the latest onNext value, overwriting any previous value if the downstream can't keep up.
143
143
* MISSING - OnNext events are written without any buffering or dropping.
144
144
145
+ * The actual goal of having them included in the JDK is to provide something called a Service Provider Interface
146
+ (or SPI) layer. This should eventually serve as a unification layer for different components that have reactive
147
+ and streaming nature, but may expose their own custom APIs, and thus not be able to interoperate with other similar
148
+ implementations
149
+
150
+ * Observable vs Observer pattern
151
+ * it's that, plus
152
+ * signal end of data stream
153
+ * propagate error
154
+ * evaluation may be synchronous, asynchronous or lazy
155
+ * hot vs cold
156
+ * cold = every subscriber starts fresh subscription
157
+ * like iterator, if you start again you start from the
158
+ beginning
159
+ * hot = start from a point in time, like match online transmission
160
+ * circuit breakers
161
+ * you cannot wait to process to get an exception, fail fast
162
+ * if you are busy circuit breaker should notify the client
163
+ instead of you throwing an error
164
+ * functional programming and exceptions are mutually exclusive
165
+ * handling exceptions imperative style: if you are driving a car and
166
+ have flat tire - the most illogical thing to do is to reverse back
167
+ * you should exit safely
168
+ * you could block data, buffer on client side, buffer on producer side,
169
+ and backpressure
170
+ * backpressure: info w przeciwnym kierunku, wolniejszy downstream informuje
171
+ szybszy upstream
172
+ * backpressure musi być nieblokujący
173
+ * model domeny uwzglednia wolnych konsumentow
174
+ * np. Twitter API - informuje o tym ze za wolno pobieramy, jak
175
+ nie przyspieszymy to polaczenie zostanie zerwane
176
+ * https://rxmarbles.com/
177
+ * core idea behind reactive is to release resource whenever possible
178
+
145
179
## definitions
146
180
* **[Flow.Publisher](https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/Flow.Publisher.html)** -
147
181
source of data
0 commit comments