---
# System prepended metadata

title: 科技英文-Reactive Performance by Oleh Dokuka

---

---
title: 科技英文-Reactive Performance by Oleh Dokuka

---

#Reactive Performance by Oleh Dokuka-2/2

1165
01:00:59,119 --> 01:01:04,110
long chain of of pipes or operators
長鏈的管道或操作員

1166
01:01:04,309 --> 01:01:06,660
within your within your data processing
在您的資料處理範圍內

1167
01:01:06,860 --> 01:01:11,370
pipeline you can have a really huge win
管道可以取得巨大的勝利

1168
01:01:11,570 --> 01:01:16,500
by using by using growl by using growl
通過使用咆哮通過使用咆哮

1169
01:01:16,699 --> 01:01:22,050
vm and by using growl GT optimization of
 vm並通過使用growl GT優化

1170
01:01:22,250 --> 01:01:24,200
course which which happens at runtime
在運行時發生的過程

1171
01:01:24,400 --> 01:01:27,120
however as we will see a little bit
但是，正如我們將看到的一點

1172
01:01:27,320 --> 01:01:30,200
later it's it's a little bit
後來有一點

1173
01:01:30,400 --> 01:01:33,870
controversial and but I will I will be
有爭議的，但我會的

1174
01:01:34,070 --> 01:01:35,550
talking a bit about that a little bit
談一點

1175
01:01:35,750 --> 01:01:38,730
later so for now in general to summarize
以後再來概括一下

1176
01:01:38,929 --> 01:01:40,700
we can have a huge performance
我們可以有出色的表現

1177
01:01:40,900 --> 01:01:44,460
improvement just by using for example C
僅通過使用例如C來改善

1178
01:01:44,659 --> 01:01:47,400
version of growl we can win round from
我們可以從中贏得勝利的咆哮聲

1179
01:01:47,599 --> 01:01:51,750
from 6% to 10% which is in case of a
從6％到10％ 

1180
01:01:51,949 --> 01:01:56,070
really huge number of servers and in
大量的伺服器和

1181
01:01:56,269 --> 01:01:58,490
case of really
真的

1182
01:01:58,690 --> 01:02:00,919
which infrastructure you can save a lot
您可以節省多少基礎架構

1183
01:02:01,119 --> 01:02:04,669
of Funyuns you can save a lot of spans
 Funyuns可以節省很多跨度

1184
01:02:04,869 --> 01:02:08,740
and on your infrastructure by just using
只需使用

1185
01:02:08,940 --> 01:02:14,899
brawl in your in your application all
在您的應用程式中爭吵

1186
01:02:15,099 --> 01:02:17,659
right so let's talk a little bit on
對，所以讓我們談談

1187
01:02:17,858 --> 01:02:21,680
another another optimization that we can
我們可以進行的另一項優化

1188
01:02:21,880 --> 01:02:26,659
do for for our reactive streams and one
為我們的反應流和一個

1189
01:02:26,858 --> 01:02:28,730
of the options that we can do without
我們可以做的選擇

1190
01:02:28,929 --> 01:02:31,389
changing any line of code is of course
更改任何代碼行當然是

1191
01:02:31,588 --> 01:02:36,740
choosing the GC so in general every
選擇GC，所以通常每個

1192
01:02:36,940 --> 01:02:40,639
object that usually usually goes who
通常會去誰的對象

1193
01:02:40,838 --> 01:02:43,369
reactive pipeline is immutable object if
反應管道是不可變的物件，如果

1194
01:02:43,568 --> 01:02:46,250
you don't have immutable objects you
你沒有不變的物件

1195
01:02:46,449 --> 01:02:49,490
should think twice about about that
應該三思而後行

1196
01:02:49,690 --> 01:02:54,230
because a lot of a lot of you can have a
因為你們很多人可以擁有

1197
01:02:54,429 --> 01:02:56,840
lot of pain by by using beautiful
通過使用美麗帶來很多痛苦

1198
01:02:57,039 --> 01:02:59,990
objects so you have to probably move to
物件，所以您可能必須移動到

1199
01:03:00,190 --> 01:03:02,690
immutable one and in general when we are
一成不變的，一般來說，當我們

1200
01:03:02,889 --> 01:03:05,149
talking about a mutable object and
談論易變的物體

1201
01:03:05,349 --> 01:03:08,240
especially about those objects within
特別是那些裡面的東西

1202
01:03:08,440 --> 01:03:10,280
the stream we are talking about
我們正在談論的流

1203
01:03:10,480 --> 01:03:14,570
short-lived objects and this short life
短暫的物體和短暫的生命

1204
01:03:14,769 --> 01:03:17,510
objects GC works very well because all
物件GC工作得很好，因為所有

1205
01:03:17,710 --> 01:03:19,700
they are accused in the young generation
他們被指控為年輕一代

1206
01:03:19,900 --> 01:03:24,470
and now we have to say which GC works
現在我們不得不說哪個GC有效

1207
01:03:24,670 --> 01:03:28,430
well these short life objects and works
這些短暫的生活物件和作品

1208
01:03:28,630 --> 01:03:32,090
well with this young generation I'm not
對於這個年輕的一代，我不是

1209
01:03:32,289 --> 01:03:34,340
going to show you again all these
再次向您展示所有這些

1210
01:03:34,539 --> 01:03:36,740
benchmarks I'm going to show you just a
基準，我將向您展示一個

1211
01:03:36,940 --> 01:03:40,010
benchmark that they found on the on the
他們在上找到的基準

1212
01:03:40,210 --> 01:03:42,680
Twitter from David corner the David
大衛（David）的推特（twitter） 

1213
01:03:42,880 --> 01:03:44,840
corner is the officer of one of the
角落是其中一名官員

1214
01:03:45,039 --> 01:03:47,750
authors of Eric's java and reactor 3 and
 Eric的Java和Reactor 3的作者以及

1215
01:03:47,949 --> 01:03:50,990
he did some measurements I did almost
他做了一些測量，我幾乎

1216
01:03:51,190 --> 01:03:54,379
similar but in general he had much
類似，但總的來說他有很多

1217
01:03:54,579 --> 01:03:56,629
better comparison and table of
更好的比較和表

1218
01:03:56,829 --> 01:03:59,480
comparison and in general if you are
比較，如果您是

1219
01:03:59,679 --> 01:04:04,310
looking for or good throat put you
尋找或嗓子好把你

1220
01:04:04,510 --> 01:04:06,500
probably should use parallel you see
大概應該使用並行

1221
01:04:06,699 --> 01:04:09,230
because parallel GC uses the last number
因為並行GC使用最後一個數字

1222
01:04:09,429 --> 01:04:11,220
of threads
執行緒

1223
01:04:11,420 --> 01:04:17,159
in that way allocate less or use less
這樣分配更少或使用更少

1224
01:04:17,358 --> 01:04:22,079
threads for for memory and for garbage
用於記憶體和垃圾的執行緒

1225
01:04:22,278 --> 01:04:24,990
collection however from my experience
但是從我的經驗來看

1226
01:04:25,190 --> 01:04:28,289
and from my experience of building high
而從我的高樓建設經驗

1227
01:04:28,489 --> 01:04:30,869
performance application in production in
性能在生產中的應用

1228
01:04:31,068 --> 01:04:34,740
life and one of the GC that we are using
生活和我們正在使用的GC之一

1229
01:04:34,940 --> 01:04:39,780
in in our this is in our company for run
在我們這是在我們公司中運行

1230
01:04:39,980 --> 01:04:43,139
in our socket infrastructure here we
在我們的通訊端基礎架構中， 
Socket:put something into it
Infrastructure:base
1231
01:04:43,338 --> 01:04:45,539
are using G 1 GC which is also an
使用的是G 1 GC 

1232
01:04:45,739 --> 01:04:48,240
excellent garbage collector which is
優秀的垃圾收集器

1233
01:04:48,440 --> 01:04:52,260
tuned it for low latency and for
對其進行了調整，以實現低延遲和
Latency:delay between computers 
1234
01:04:52,460 --> 01:04:55,649
recta streams it shows a really good
直腸流顯示它真的很好

1235
01:04:55,849 --> 01:04:57,389
performance as well and a really good
性能也很好

1236
01:04:57,588 --> 01:05:00,919
throat put along with a really lot good
喉嚨放的很好

1237
01:05:01,119 --> 01:05:05,190
latency so we are going to we are going
延遲，所以我們要去

1238
01:05:05,389 --> 01:05:07,560
to play with GC a little bit later and
稍後再玩GC 

1239
01:05:07,760 --> 01:05:10,318
now we just have to pay attention to
現在我們只需要注意

1240
01:05:10,518 --> 01:05:14,490
those numbers and remember which GC is a
這些數字，並記住哪個GC是

1241
01:05:14,690 --> 01:05:16,289
little bit better for reactive streams
反應性流好一點

1242
01:05:16,489 --> 01:05:20,669
and finally the final stage which I'm
最後是我的最後階段

1243
01:05:20,869 --> 01:05:24,568
going to I'm going to cover is some
我要覆蓋的是一些

1244
01:05:24,768 --> 01:05:26,849
tuning of the operators that I mention
我提到的運營商調整

1245
01:05:27,048 --> 01:05:32,300
it a few slides ago and one of the
它是幾張幻燈片之前的一張

1246
01:05:32,500 --> 01:05:35,039
options that we can tune with in
我們可以調整的選項

1247
01:05:35,239 --> 01:05:38,010
reactive streams is tuning the the size
反應流正在調整大小

1248
01:05:38,210 --> 01:05:40,859
of the queue because as you have as you
之所以排隊，是因為您擁有

1249
01:05:41,059 --> 01:05:43,200
can remember we have a few operators
記得我們有幾個操作員

1250
01:05:43,400 --> 01:05:46,649
like flat map like Kincaid map like
像平地圖一樣

1251
01:05:46,849 --> 01:05:49,068
published on which is which relies on
出版哪個依賴

1252
01:05:49,268 --> 01:05:52,530
some view and in many cases we just
一些觀點，在許多情況下，我們只是

1253
01:05:52,730 --> 01:05:54,780
write a flat map with no additional
無需額外書寫平面地圖

1254
01:05:54,980 --> 01:05:56,909
parameters just a lambda that converts
參數只是一個可以轉換的lambda 

1255
01:05:57,108 --> 01:06:00,809
an element T to another stream and
元素T到另一個流，並且

1256
01:06:01,009 --> 01:06:03,930
that's the most common what we can do
那是我們最常做的

1257
01:06:04,130 --> 01:06:07,349
here and we are doing here and we are
在這裡，我們正在這裡，我們正在

1258
01:06:07,548 --> 01:06:10,818
doing and we do that in most cases and
我們在大多數情況下都這樣做

1259
01:06:11,018 --> 01:06:14,490
sometimes we forget about additional
有時我們忘記了其他

1260
01:06:14,690 --> 01:06:16,909
options and additional parameters it can
選項和其他參數

1261
01:06:17,108 --> 01:06:20,430
impact a lot of your on that can impact
對您的影響很大

1262
01:06:20,630 --> 01:06:24,510
your performance a lot however its
你的表現很多，但是

1263
01:06:24,710 --> 01:06:27,659
if you forgot to try to change these
如果您忘記嘗試更改這些

1264
01:06:27,858 --> 01:06:30,119
additional parameters if you didn't pay
其他參數（如果您不付款） 

1265
01:06:30,318 --> 01:06:32,639
attention to those additional parameters
注意那些附加參數

1266
01:06:32,838 --> 01:06:35,340
and overloads or for example flatmap or
和超載，例如平面圖或

1267
01:06:35,539 --> 01:06:38,970
publish on you can always tune those
發佈您可以隨時調整那些

1268
01:06:39,170 --> 01:06:41,669
parameters in your application by
您的應用程式中的參數

1269
01:06:41,869 --> 01:06:44,389
providing additional arguments like
提供其他參數，例如

1270
01:06:44,588 --> 01:06:48,629
reactor buffer size or its small use and
反應堆緩衝區大小或使用少

1271
01:06:48,829 --> 01:06:51,539
for small use and if they're going back
少量使用，如果他們要回去

1272
01:06:51,739 --> 01:06:56,450
to you to you to our demo small demo
給你給你來我們的演示小演示

1273
01:06:56,650 --> 01:07:01,800
applications and if we are going to - in
應用程式，如果我們要- 

1274
01:07:02,000 --> 01:07:04,919
order to show you how changing or how
為了向您展示如何變化或如何

1275
01:07:05,119 --> 01:07:07,470
tuning of those applications or those
那些應用程式的調優

1276
01:07:07,670 --> 01:07:10,470
parameters can impact your performance
參數可能會影響您的效果

1277
01:07:10,670 --> 01:07:14,159
and going to tune a little bit of those
然後去調一些

1278
01:07:14,358 --> 01:07:17,000
parameters for for this really plain
這個很簡單的參數

1279
01:07:17,199 --> 01:07:20,730
plain stream in order to make this more
普通流，以使其更多

1280
01:07:20,929 --> 01:07:23,930
realistic I'm going to do some warm-up
現實的我要做一些熱身

1281
01:07:24,130 --> 01:07:26,940
between and I'm going to measure some
之間，我要測量一些

1282
01:07:27,139 --> 01:07:30,210
time of execution of this stream so
執行此流的時間，因此

1283
01:07:30,409 --> 01:07:32,669
basically as let me remind you what is
基本上讓我提醒你什麼是

1284
01:07:32,869 --> 01:07:34,590
going on here basically we create a
基本上在這裡我們創建一個

1285
01:07:34,789 --> 01:07:37,619
stream of 1000 elements and then we
 1000個元素的流，然後我們

1286
01:07:37,818 --> 01:07:41,070
create another 1000 of sub stream
再創建1000個子流

1287
01:07:41,269 --> 01:07:46,500
elements since we have some options and
元素，因為我們有一些選擇和

1288
01:07:46,699 --> 01:07:49,169
some additional over overloads for
一些額外的超載

1289
01:07:49,369 --> 01:07:52,109
flatmap like like prefetch size and
平面圖，例如預取大小和

1290
01:07:52,309 --> 01:07:55,019
concurrency which means that concurrency
併發，這意味著併發

1291
01:07:55,219 --> 01:07:58,950
is how many how many sub strings we can
我們可以有多少個子字串

1292
01:07:59,150 --> 01:08:01,980
have at a time within our fight flat map
一次在我們的戰鬥平面圖中

1293
01:08:02,179 --> 01:08:04,950
or in other work how many streams can be
或在其他工作中可以有多少個流

1294
01:08:05,150 --> 01:08:08,280
merged at the same time within one flat
在同一單位內同時合併

1295
01:08:08,480 --> 01:08:11,490
map and prefetch which means how many
映射並預取，這意味著有多少
Fetch:to catch something
Pre:before
1296
01:08:11,690 --> 01:08:14,399
elements I would like to request the
我想要求的元素

1297
01:08:14,599 --> 01:08:19,050
first two in our for at the first for
在我們的頭兩個

1298
01:08:19,250 --> 01:08:22,110
our eternal sub string so it means how
我們永恆的子字串，這意味著

1299
01:08:22,310 --> 01:08:24,960
many elements I would like to to request
我想要求的許多要素

1300
01:08:25,159 --> 01:08:31,028
at first for in our internal stream and
首先在我們的內部流中

1301
01:08:31,448 --> 01:08:35,369
those elements can impact your
這些元素會影響您

1302
01:08:35,569 --> 01:08:37,260
performance a lot so let me show you
表現很多，讓我告訴你

1303
01:08:37,460 --> 01:08:38,289
looking just show
看起來只是秀

1304
01:08:38,489 --> 01:08:45,039
you the over the average time that this
您超過平均時間

1305
01:08:45,239 --> 01:08:48,190
execution takes so basically I do some
執行基本上需要我做一些

1306
01:08:48,390 --> 01:08:50,409
warm-up so my runtime should be happy
熱身，讓我的運行時快樂
warm-up: 熱身
1307
01:08:50,609 --> 01:08:52,989
with what is going on and if I'm going
發生了什麼，如果我要去

1308
01:08:53,189 --> 01:08:55,239
to rerun this application I will
重新運行此應用程式，我將

1309
01:08:55,439 --> 01:09:01,329
basically have the same output so around
基本上有相同的輸出

1310
01:09:01,529 --> 01:09:04,239
four seconds so everything that you can
四秒鐘，讓您可以做的一切

1311
01:09:04,439 --> 01:09:09,340
see is in miles so you have to to split
看到以英里為單位，所以您必須拆分

1312
01:09:09,539 --> 01:09:13,239
that on 1000 and have four seconds now
在1000上，現在有四秒鐘

1313
01:09:13,439 --> 01:09:17,039
if I'm going to just change the default
如果我要更改預設值

1314
01:09:17,239 --> 01:09:21,489
the default parameters for my
我的默認參數

1315
01:09:21,689 --> 01:09:24,300
application to you for example this one
以您的申請為例

1316
01:09:24,500 --> 01:09:27,279
for example I'm going to I want to use
例如我要去使用

1317
01:09:27,479 --> 01:09:32,949
the smallest cue I want to I want to set
我想要設定的最小提示

1318
01:09:33,149 --> 01:09:35,680
the the queue size for the smallest cue
最小提示的佇列大小

1319
01:09:35,880 --> 01:09:37,029
for 1000
為1000 

1320
01:09:37,229 --> 01:09:40,630
for example elements and for small mm
例如元素和小毫米

1321
01:09:40,829 --> 01:09:43,210
elements and the same configuration as
元素和相同的配置
Configuration:setting
1322
01:09:43,409 --> 01:09:51,159
you can remember absolutely depends on
你會記得絕對取決於

1323
01:09:51,359 --> 01:09:53,320
what is going on in flat nap so for
平坦的午睡是怎麼回事

1324
01:09:53,520 --> 01:09:56,289
default parameters for no let's say it
不用說的默認參數

1325
01:09:56,489 --> 01:10:00,000
let's name it no arguments except mapper
讓我們將其命名為沒有任何參數，除了mapper 

1326
01:10:00,199 --> 01:10:03,880
overload in that case the default
在這種情況下，超載

1327
01:10:04,079 --> 01:10:05,949
concurrency and default prefetch size
併發和默認預取大小

1328
01:10:06,149 --> 01:10:09,720
will be derived from small buffer size
將源自較小的緩衝區大小

1329
01:10:09,920 --> 01:10:12,730
which is here and which could be
在這裡，可能是

1330
01:10:12,930 --> 01:10:15,010
configured by providing that property
通過提供該屬性進行配置

1331
01:10:15,210 --> 01:10:17,980
and the prefetch size could be
並且預取大小可能是

1332
01:10:18,180 --> 01:10:20,920
configured by this property which can we
通過此屬性配置，我們可以

1333
01:10:21,119 --> 01:10:24,730
can set up in this way and just by
可以通過這種方式設置

1334
01:10:24,930 --> 01:10:28,510
tuning those three options we can
調整這三個選項，我們可以

1335
01:10:28,710 --> 01:10:30,820
increase our performance maybe in two
提高我們的表現也許在兩次

1336
01:10:31,020 --> 01:10:34,260
times yeah it's around one second and
是的，大約一秒鐘

1337
01:10:34,460 --> 01:10:38,949
600 miles here which is almost two times
 600英里，幾乎是兩倍

1338
01:10:39,149 --> 01:10:40,810
better or three times better than
好於三倍

1339
01:10:41,010 --> 01:10:43,539
previous number which is good so
以前的號碼很好

1340
01:10:43,739 --> 01:10:47,079
basically we can just simply tune those
基本上我們可以簡單地調整那些

1341
01:10:47,279 --> 01:10:49,539
two parameters in order to improve our
為了改善我們的兩個參數

1342
01:10:49,739 --> 01:10:51,289
performance in our
在我們的表現

1343
01:10:51,489 --> 01:10:54,350
application as well however you should
應用程式，但是你應該

1344
01:10:54,550 --> 01:10:57,159
remember that by tuning those parameters
記住，通過調整這些參數

1345
01:10:57,359 --> 01:11:01,220
they have you have another impact you
他們對你有另一種影響

1346
01:11:01,420 --> 01:11:03,159
have an impact on the memory because
對記憶體有影響，因為

1347
01:11:03,359 --> 01:11:07,060
every cue allocation it means
每個提示分配意味著

1348
01:11:07,260 --> 01:11:09,860
allocation of the in the simplest case
在最簡單的情況下分配

1349
01:11:10,060 --> 01:11:12,920
allocation off of RA under the hood
幕後分配RA 

1350
01:11:13,119 --> 01:11:16,159
which means that your streams will will
這意味著您的視頻流將

1351
01:11:16,359 --> 01:11:20,779
do have much more will use much more
確實有更多會使用更多

1352
01:11:20,979 --> 01:11:21,920
memory than before
記憶力比以前

1353
01:11:22,119 --> 01:11:24,640
so you have remember about that as well
所以你也記得

1354
01:11:24,840 --> 01:11:28,550
and the same could be done for publish
可以為發佈做同樣的事情

1355
01:11:28,750 --> 01:11:32,630
on and for publish operator and for
在和發佈運營商和

1356
01:11:32,829 --> 01:11:35,690
Kinkaid map because all ram relies on on
 Kinkaid地圖，因為所有ram都依賴

1357
01:11:35,890 --> 01:11:38,119
this default for example here we use the
例如，這裡使用預設值

1358
01:11:38,319 --> 01:11:41,180
same small buffer size per default which
每個默認的相同小緩衝區大小

1359
01:11:41,380 --> 01:11:44,539
means that here we have some prefetch
意味著這裡我們有一些預取

1360
01:11:44,739 --> 01:11:48,470
size higher than than before and in that
大小比以前大

1361
01:11:48,670 --> 01:11:50,510
case it potentially can improve the
可能會改善

1362
01:11:50,710 --> 01:11:52,460
performance by requesting more elements
通過請求更多元素來提高性能

1363
01:11:52,659 --> 01:11:55,550
from a synchronous source and in that
從同步源

1364
01:11:55,750 --> 01:11:57,020
case we can produce an increase
這樣我們就可以增加

1365
01:11:57,220 --> 01:11:59,329
performance as well and the same applies
性能也一樣

1366
01:11:59,529 --> 01:12:01,340
for complete map and for public ROM and
以獲得完整的地圖和公共ROM，以及

1367
01:12:01,539 --> 01:12:05,570
for public so when your when you are
對於公眾，所以當你當你

1368
01:12:05,770 --> 01:12:07,550
going to tune your application you have
要調整您的應用程式

1369
01:12:07,750 --> 01:12:10,130
to take into account those properties
考慮這些屬性

1370
01:12:10,329 --> 01:12:11,480
and you have to play with those
而且你必須和那些人一起玩

1371
01:12:11,680 --> 01:12:17,329
properties as well all right now let's
屬性，現在就讓我們

1372
01:12:17,529 --> 01:12:19,220
let's take a look at the real
讓我們來看看真正的

1373
01:12:19,420 --> 01:12:21,920
application and now let's try to apply
應用程式，現在讓我們嘗試應用

1374
01:12:22,119 --> 01:12:25,460
in all of those all of those two in all
在所有這兩個中

1375
01:12:25,659 --> 01:12:28,579
all of those dream changes all of those
所有這些夢想改變了所有那些

1376
01:12:28,779 --> 01:12:32,449
additional parameters to to our real
附加參數到我們的真實

1377
01:12:32,649 --> 01:12:36,920
application and see whether it improves
應用程式，看看是否有所改善

1378
01:12:37,119 --> 01:12:40,820
performance or not so here let me
表演與否所以在這裡讓我

1379
01:12:41,020 --> 01:12:44,270
shortly explain the application that I
簡要說明一下我的申請

1380
01:12:44,470 --> 01:12:47,810
have here so here is the image of the
有這裡所以這是

1381
01:12:48,010 --> 01:12:50,960
application that we are going to to work
我們將要工作的應用程式

1382
01:12:51,159 --> 01:12:55,130
with so here I have some cluster of
所以在這裡我有一些

1383
01:12:55,329 --> 01:12:58,789
services and here I have a plain Marvel
服務，在這裡我有一個簡單的奇跡

1384
01:12:58,989 --> 01:13:02,000
application that allows me to to to run
允許我運行的應用程式

1385
01:13:02,199 --> 01:13:04,400
a tournament between marbles
大理石之間的比賽
Tournament: 比賽
Marbles:彈珠
1386
01:13:04,600 --> 01:13:07,730
Kinnock heroes and choose which Marvel
 Kinnock英雄，然後選擇哪個奇跡

1387
01:13:07,930 --> 01:13:12,380
hero is the best one so I hope this this
英雄是最好的，所以我希望這個

1388
01:13:12,579 --> 01:13:14,710
guy build the working
傢伙建立工作

1389
01:13:14,909 --> 01:13:22,820
let me just rerun it come on as usual
讓我像往常一樣重新運行它

1390
01:13:23,020 --> 01:13:26,539
I don't want work so let me double check
我不想工作，所以讓我仔細檢查一下

1391
01:13:26,739 --> 01:13:29,779
whether it's running or not just a
無論它是否正在運行

1392
01:13:29,979 --> 01:13:33,170
second and I will be showing you yes
第二，我會向你展示

1393
01:13:33,369 --> 01:13:37,090
usually here I have here's viewer issues
通常這裡我有觀眾的問題

1394
01:13:37,289 --> 01:13:40,550
yeah let me just restore those guys and
是的，讓我恢復那些傢伙， 

1395
01:13:40,750 --> 01:13:45,470
let me just restore the broker
讓我恢復經紀人
restore恢復
1396
01:13:45,670 --> 01:13:47,360
application in order to ensure that
申請以確保

1397
01:13:47,560 --> 01:13:51,770
everything is in good condition yeah so
一切都很好，是的，所以

1398
01:13:51,970 --> 01:13:56,510
in general as you have seen we have at
如您所見，通常

1399
01:13:56,710 --> 01:13:59,930
least four elements and four parts of
至少四個元素和四個部分

1400
01:14:00,130 --> 01:14:03,170
our system we have broker which is our
我們的系統我們有經紀人，這是我們的

1401
01:14:03,369 --> 01:14:05,720
socket broker we have an hour record
通訊端代理，我們有一個小時的記錄

1402
01:14:05,920 --> 01:14:08,779
server record server which can which can
伺服器記錄伺服器可以

1403
01:14:08,979 --> 01:14:11,449
communicate with database in in this
在此與資料庫通信

1404
01:14:11,649 --> 01:14:13,659
case we are using a little bit simpler
情況下，我們使用的更簡單

1405
01:14:13,859 --> 01:14:16,400
implementation of record servers which
記錄伺服器的實現

1406
01:14:16,600 --> 01:14:19,610
just consumes and pretend and supplies
只是消費，假裝和供應

1407
01:14:19,810 --> 01:14:22,279
data t-to to the requester from the
數據從

1408
01:14:22,479 --> 01:14:25,640
memory and here we have the client we
記憶，這裡有客戶，我們

1409
01:14:25,840 --> 01:14:27,680
have a tournament server which does
有一個比賽伺服器

1410
01:14:27,880 --> 01:14:30,500
which has some business logic in there
裡面有一些業務邏輯

1411
01:14:30,699 --> 01:14:35,060
so let me quickly go through the
所以讓我快速流覽一下

1412
01:14:35,260 --> 01:14:37,909
pipeline that we have so in general here
我們在這裡通常擁有的管道

1413
01:14:38,109 --> 01:14:41,000
we use a sum reactor stuff we use
我們使用總和反應堆的東西

1414
01:14:41,199 --> 01:14:44,779
publish on operator we use flat map here
在運營商上發佈我們在這裡使用平面地圖

1415
01:14:44,979 --> 01:14:46,789
will you subscribe on in order to run
您會訂閱以便運行嗎

1416
01:14:46,989 --> 01:14:49,579
our code on the different thread we use
我們在不同執行緒上使用的代碼

1417
01:14:49,779 --> 01:14:51,470
some buffer we use some additional
一些緩衝區，我們使用一些額外的

1418
01:14:51,670 --> 01:14:53,570
transformation and so for and so on and
等等，等等

1419
01:14:53,770 --> 01:14:56,329
since we use here our socket which is
因為我們在這裡使用我們的插座

1420
01:14:56,529 --> 01:14:59,750
reactive streams over the network so our
網路上的反應性流，所以我們

1421
01:14:59,949 --> 01:15:02,420
socket is basically the same reactive
插座基本上是相同的反應

1422
01:15:02,619 --> 01:15:04,340
streams as we have in Java but through
流，就像我們在Java中一樣

1423
01:15:04,539 --> 01:15:07,750
the network so it does everything to you
網路，以便它為您做一切

1424
01:15:07,949 --> 01:15:11,390
to encode your requests and elements to
將您的請求和元素編碼為

1425
01:15:11,590 --> 01:15:13,550
the frame and then decode it on the
幀，然後在
Frame:框
1426
01:15:13,750 --> 01:15:16,100
other side or on the other service and
另一方或另一方

1427
01:15:16,300 --> 01:15:18,320
in that way preserve
以這種方式保存

1428
01:15:18,520 --> 01:15:21,708
but pressure and it's build on top of it
但是壓力是建立在壓力之上的

1429
01:15:21,908 --> 01:15:24,079
and it's built for performance so it
它是為提高性能而設計的

1430
01:15:24,279 --> 01:15:27,380
uses only one only one connection and so
僅使用一個，只有一個連接，因此

1431
01:15:27,579 --> 01:15:29,600
foreign zone and in general this is the
外國區，通常這是

1432
01:15:29,800 --> 01:15:31,220
same react to streams but through the
相同的反應流，但通過

1433
01:15:31,420 --> 01:15:34,038
network that's all we have to know about
網路就是我們所需要知道的

