跟讀練習: What is Event Driven Architecture (EDA)? - 通過影片學習英語口語
選擇練習模式
每種模式都會開啟全屏練習室。
4 句
如果句子過短或過長,請點選 Edit 進行調整。
1
What are event-driven architectures? And how can they enable real-time user interactions, pluggable microservices, and extensible streaming and data analytics? My name is Whitney, I'm on the Cloud team here at IBM. Before I dig in on event driven architecture, specifically I'd like to talk about system design, more generally and specifically the reactive manifesto. The reactive manifesto is a set of community-driven guidelines that are intended to give a cohesive approach to systems design. So, at the core of the reactant manifesto we have, we want our system to be message driven.
2
And so, specifically asynchronous messaging.
3
And then also, we want our our system design to be scalable, and we want it to be resilient.
4
So this implies distributed systems or Kubernetes. So by scalable we mean that we want the hardware used to expand as the workload expands and contract as the workload contracts and by resilient we mean we we don't want any single point of failure and if the system does fail we want it to be able to tolerate tolerate that elegantly so with this foundation in place we should be able to build a system that is responsive responsive is the value on top of that we can expect a system that is maintainable so it means it's easy to change easy to fix a bug or do an update and we want one that is extensible so we should be able to expand the system easily so now that we have the core of what we want our systems designed to look like now let's talk about let's level set here and talk about like what is an event so an event is a statement of fact an immutable statement of fact about something that happened in the past so let's give that some context we'll talk about a retail application so a retail application has a checkout service and that checkout service is going to want to communicate with an inventory service a shipping service and a contact service so with the messaging model if the inventory wants to know what the checkout is doing the checkout will send a message directly to inventory to let the inventory know a checkout happen and another one directly to shipping and directly to contact so with messaging we have targeted delivery um not only that but inventory can maybe send a message back to checkout it can be a conversational delivery conversational messaging and then finally let's talk about where that message lives before it's sent it's it's lives on the host service or on the producing service when it's received it lives on the um it lives on the host service until it's received by the consuming service or in the case of a message broker it might sit on a machine in between but regardless the the data persistence is transient now let's compare that to eventing so if our checkout service is producing events it's producing an event every time a checkout happens without any concern to which service is consuming that and so with that we have a system that's highly scalable so we have um three services here interested in the checkout but even if we expand it to a hundred services listening to check out that wouldn't affect what the checkout service is doing in any way not only that when we have all the checkouts in a row we come up with an event log and it can be replayable so we have a stream history and a history of everything that that every checkout event that has happened and then our data persistence depending on how the cluster is set up it can be set up to be immutable it can be there forever as long as you have the physical hardware to back it up so we have um instead of having transient data persistent so we have uh permanent or possibly permanent not immutable but permanent data persistence e and t um so this is the foundation of our event driven architecture so we have a resilient a reactive responsive system design and then that message driven element is is event messaging specifically so when we go into our proper event design the first thing we're going to consider are our event producers so we might have a web application that produces events and we might have a a mobile application and let's say we also have an edge device that's producing events so uh internet of things device and all of these are producing events into our system so so this piece of the system here that has all the events running through it this is called the event backbone so what does this system enable well first of all we have our event logs being produced by all the producing applications so the event logs can do a few things first it can trigger an action so if we have an internet of things device let's say our internet of things device is a robot vacuum cleaner and when we turn on that robot vacuum cleaner it spins up a pod on the infrastructure and that pod is a function as a service so function as a service is a modular piece of code often associated with an edge device that doesn't exist on a server on the server until it is turned on and that's when it is spun up so that's called serverless function as a service is sits on top of serverless infrastructure but the point is that event triggers an action of the with the robot vacuum cleaner to spin up bounce all around the house make everything squeaky clean and then when the function is finished running it powers down and perhaps that'll cause our function as a service to send another event back into the system to let it know that the the function is complete another cool thing about the event log is it can be used to help optimize and customize data persistence so if our web application is our maybe it's our retail application that we talked about before and it's doing a stream of checkout events well our inventory service can be reading from that and it's keeping track of a local data store that's keeping track of the inventory so our inventory service will consume from that data stream from the web application it'll modify the local data and then it'll produce again into the event backbone and so this new stream is giving the most current inventory to any other application in the system that wants to consume from it and so while we're talking about data another thing that happens we can save all of the data that comes through the system so all the raw data or all of the transform data here at the end once it goes through the system we'll save it all in a huge data lake and this is what's going to power really data-heavy applications like ai for example and the data lake is accessible from anywhere in the system that any service that you let consume from it so another thing that our event-driven architectures can enable are a stream processing so this is built on top of the apache kafka streams api so let's say that our mobile app is producing let's say it's a music streaming service and every time let's say up until your in your whole life up until this point you've been listening to only miley cyrus and britney spears but today you decide you know what i want to see what jay-z is about and you turn jay-z on well immediately your streaming app is showing you kanye west and lauren hill and giving you ideas about what you might want to listen to next so that stream processing is a really powerful and what gives the gives real-time calculations like if it's a ride share app you um that you know exactly how far away your ride is but it can also be used to implement business rules and business policies and it can be used for real-time analytics and then let's also talk about with our system the communications layer so specifically it's called pub sub communication for publish subscribe so we could have any microservice a containerized microservice and just like we talked about before with it being extensible we can very easily plug it into we can write a new microservice and plug it into our system and immediately have it start consuming from any stream and producing to a new stream or even producing to a stream that already exists and none of the other applications need to be concerned with it at all so it's highly plugable not only that but because of the stream history we talked about before when you plug it into the system you don't have to have it start consuming from right this moment it can be consuming from as long as from the beginning of your application if you've been saving your stream history for that long so as long as that stream history persists when you plug in a new system it can consume from either the old data or can be consumed from the present moment so with that we talked about the major benefits of event driven architecture that sit on top of the reactive manifesto ideas for system design with eventing at its core
同頻道
FOR YOU
推薦影片
本課的詞彙與口語要點
這節 C1 級別的口語課以影片“What is Event Driven Architecture (EDA)?”為素材。 影片中反覆出現的詞有:event, checkout, stream, application, inventory。 這段影片共有 4 個句子、1595 個單詞可供跟讀。 講話部分時長為 12:09。 說話人語速平穩,每分鐘約 131 個詞,很適合跟讀。 83% 的單詞屬於英語最常用的 3,000 詞,其餘的詞建議在練習前先學一下。
影片中的重點詞彙
影片中最難的 15 個單詞,附發音和釋義:
| 單詞 | 發音 | 釋義 |
|---|---|---|
| checkout 名詞 | /ˈt͡ʃɛkˌaʊt/ | 收款處 /收款處 |
| consume 動詞 | /kənˈsum/ | 耗費 /耗費, 消耗 |
| persistence 名詞 | /pəˈsɪst(ə)ns/ | 堅持 /堅持 |
| manifesto 名詞 | /ˌmæn.əˈfɛs.toʊ/ | 宣言, 公告 |
| extensible 形容詞 | 可展開的 /可展開的 | |
| vacuum 名詞 | /ˈvæ.kjuːm/ | 真空 |
| conversational 形容詞 | /ˌkɒnvə(ɹ)ˈseɪʃənəl/ | 會話式的 /會話式的 |
| transient 形容詞 | /ˈtɹæn.ʃənt/ | 短暫的 /短暫的 |
| backbone 名詞 | /ˈbækˌboʊn/ | 骨幹 /骨幹, 脊骨 |
| analytics 名詞 | /ˌæn.əˈlɪt.ɪks/ | 分析學 /分析學 |
| tolerate 動詞 | /ˈtɑ.lə.ɹeɪt/ | 忍受, 熬 |
| asynchronous 形容詞 | /eɪˈsɪŋ.kɹə.nəs/ | 非同步 |
| customize 動詞 | /ˈkʌs.tə.maɪ̯z/ | 定製, 定做 |
| guideline 名詞 | /ˈɡaɪdˌlaɪn/ | 指導 /指導, 指示 |
| optimize 動詞 | /ˈɑptɪmaɪz/ | 最佳化 |
影片中出現的短語動詞
| 單詞 | 釋義 |
|---|---|
| check out 動詞 | 退房 |
| come up with 動詞 | 想出, 提出 |
| go through 動詞 | 通過 /通過 |
影片中的語法
說話人最常用的結構,並附上影片中的原話:
| 結構 | 影片中的用法 |
|---|---|
| 現在完成進行時 have/has been + -ing — 以前開始、現在仍在繼續的動作 | you've been listening |
| 被動語態 be + 過去分詞 — 強調發生了什麼,而不是誰做的 | are intended · is set |
| 現在完成時 have/has + 過去分詞 — 過去發生但與現在仍有關聯的事 | have targeted |
需要注意的發音
說話人用了 15 次縮略和弱讀形式,例如 don't, it'll, we'll。請按聽到的簡短形式來說。
- “sh” 和 “zh” 音: conversational /ˌkɒnvə(ɹ)ˈseɪʃənəl/, transient /ˈtɹæn.ʃənt/, calculation /ˌkælkjuˈleɪʃn̩/
- 長單詞——注意重音位置: manifesto /ˌmæn.əˈfɛs.toʊ/, conversational /ˌkɒnvə(ɹ)ˈseɪʃənəl/, analytics /ˌæn.əˈlɪt.ɪks/, asynchronous /eɪˈsɪŋ.kɹə.nəs/
中文母語者容易讀錯的音:
- /v/ — 不要讀成 /w/,上齒輕觸下唇: reactive /ɹiːˈæktɪv/, responsive /ɹɪˈspɑn.sɪv/, vacuum /ˈvæ.kjuːm/, conversational /ˌkɒnvə(ɹ)ˈseɪʃənəl/, cohesive /kəʊˈhiː.sɪv/
- 詞尾子音 — 要讀清楚,後面不要加母音: checkout /ˈt͡ʃɛkˌaʊt/, persistence /pəˈsɪst(ə)ns/, reactive /ɹiːˈæktɪv/, resilient /ɹɪˈzɪl.jənt/, responsive /ɹɪˈspɑn.sɪv/
- /r/ 和 /l/ 的區別: resilient /ɹɪˈzɪl.jənt/, conversational /ˌkɒnvə(ɹ)ˈseɪʃənəl/, tolerate /ˈtɑ.lə.ɹeɪt/
如何用這段影片練習
- 先完整聽一遍影片,不要開口,記下不認識的單詞。
- 用正常速度逐句跟讀,每句重複到你的節奏與說話人一致為止。
- 錄下自己的聲音並與原聲對比,特別注意 checkout, consume, persistence 這類單詞。
什麼是跟讀法?
跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。



























