Skip to content

Commit

Permalink
fix bulid errors
Browse files Browse the repository at this point in the history
  • Loading branch information
KrispauI committed Oct 15, 2024
1 parent ac55e04 commit 2b8b3d5
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 18 deletions.
8 changes: 4 additions & 4 deletions docs/application-scenario/00-data-steam-processing.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@

* **Application Scenario Description**

<!-- <div align="center">
<img src="../../static/images/application-scenario/s0_img1.png" width="90%">
</div> -->
<div align="center">
<img src="/images/application-scenario/s0_img1.png" width="80%" />
</div>

![data-steam-processing-detail](../../static/images/application-scenario/s0_img1.png)
<!-- ![data-steam-processing-detail](../../static/images/application-scenario/s0_img1.png) -->

&emsp;&emsp;Based on the figure above, EventMesh is between customer data and target data sources, and can support streaming data processing. Through the filter\transformer capabilities of the EventMesh function, the data format and content desired by the customer can be processed and spit out to the target data source to achieve data cleaning, rule filtering, character replacement, data enrichment, data routing and other capabilities.

Expand Down
6 changes: 3 additions & 3 deletions docs/application-scenario/01-data-synchronization.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
&emsp;&emsp;In the data synchronization scenario, Geely Auto implemented an event integration platform based on EventMesh. For example, in Geely's user center system, most internal business systems cache user data locally after integrating with the user center. As these business systems frequently modify user data asynchronously, there is a strong demand for data synchronization.

<div align="center">
<img src="../../static/images/application-scenario/s1_img1.png" width="100%" >
<img src="/images/application-scenario/s1_img1.png" width="80%" />
</div>

&emsp;&emsp;Geely Automobile's event integration platform, built on EventMesh, enables the user center to publish new and changed user data as "events" within an event-driven architecture. Business systems subscribe to event sources to retrieve necessary user data updates. For instance, the finance system may only be interested in payment information updates, while the customer service system cares about contact information changes.
Expand All @@ -27,6 +27,6 @@

* **Reference**

&emsp;&emsp;[Apache EventMesh the event grid helps build an event platformin CommunityOverCode Asia 2024](https://asia.communityovercode.org/)
&emsp;&emsp;["Apache EventMesh the event grid helps build an event platform" in CommunityOverCode Asia 2024](https://asia.communityovercode.org/)

&emsp;&emsp;[How Geely Automobile implements event integration platform based on EventMesh to promote efficient business integration](https://mp.weixin.qq.com/s/BLHbIq5KyjnhoVlmw9_DBw)
&emsp;&emsp;["How Geely Automobile implements event integration platform based on EventMesh to promote efficient business integration"](https://mp.weixin.qq.com/s/BLHbIq5KyjnhoVlmw9_DBw)
11 changes: 7 additions & 4 deletions docs/application-scenario/02-SaaS-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,26 @@
&emsp;&emsp;The diagram below illustrates a single PBC, a combination of PBCs, and multiple composite PBCs:

<div align="center">
<img src="../../static/images/application-scenario/s2_img1.png" width="100%" >
<img src="/images/application-scenario/s2_img1.png" width="80%" />
</div>

<!-- ![PBC-structure](../../static/images/application-scenario/s2_img1.png) -->


&emsp;&emsp;From the above architecture, it is clear that each SaaS application module (PBC) has a low degree of coupling. Modifying or adjusting a specific module does not affect the operation of other existing modules.This facilitates agile development and efficient iterative updates. However, one challenge of SaaS composite applications is the lack of standardized integration between different applications, as the absence of a unified communication protocol can hinder the implementation of this architecture.

&emsp;&emsp;This issue can be solved by EventMesh. EventMesh integrates TCP and HTTP protocols, and supports bi-directional asynchronous communication between Client and Server through gRPC (Google’s open-source high-performance RPC framework based on HTTP/2) with SDKs available for multiple languages such as Java, Python, C, and Go. Users do not need to worry about which communication protocol is used in different scenarios when using the SDK; the event-driven asynchronous communication can be achieved through the SDK APIs integrated by EventMesh, enabling the seamless event flow between different SaaS application modules.

<div align="center">
<img src="../../static/images/application-scenario/s2_img2.png" width="80%" >
<img src="/images/application-scenario/s2_img2.png" width="60%" />
</div>

* Application scenario implementation proposal

&emsp;&emsp;Regarding the specific implementation of the scenario, EventMesh officially introduced the `gRPC` framework starting from version v1.4.0. gRPC defines API interface data models using Protobuf. In the gRPC Protobuf event model, each event is represented by the `SimpleMessage` data model, with the event content stored in the `content` field.

<div align="center">
<img src="../../static/images/application-scenario/s2_img3.png" width="80%" >
<img src="/images/application-scenario/s2_img3.png" width="60%" />
</div>

&emsp;&emsp;The gRPC event scenarios supported by EventMesh include: event sending and batch event sending, event broadcasting, event request and response, event subscription, and event pushing (for more details, see: [eventmesh-client.proto](https://github.com/apache/eventmesh/blob/master/eventmesh-protocol-plugin/eventmesh-protocol-grpc/src/main/proto/eventmesh-client.proto)).
Expand Down
2 changes: 1 addition & 1 deletion docs/application-scenario/03-serverless-eventbus.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
&emsp;&emsp;As a crucial part of the event-driven architecture in a Serverless environment, it provides elastic, asynchronous, and decentralized event governance services. Key functions include event aggregation, schema validation, filtering, routing, transformation, and pushing. Additionally, it offers enhanced features like fault-tolerant retries, dead-letter storage, event query tracking, and event workflows.

<div align="center">
<img src="../../static/images/application-scenario/s3_img1_en.png" width="90%">
<img src="/images/application-scenario/s3_img1_en.png" width="70%"/>
</div>

&emsp;&emsp;The diagram above represents the overall architecture of Huawei Cloud `EventGrid`. `EventGrid` connects to various cloud services as event sources, including Distributed Message Service, Object Storage Service (OBS), and Distributed Cache Service. The various events generated by these event sources are pushed to the event channels of the `EventGrid` Event Bus (Bus Runtime). The Event Bus configures event channels for EventGrid users on a per-tenant basis, allowing multiple event channels under a single tenant to carry events from different sources.
Expand Down
2 changes: 1 addition & 1 deletion docs/application-scenario/04-connected-vehicle-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
&emsp;&emsp;The Serverless solution for connected vehicle services, powered by `EventMesh`, offers dynamic scaling and high flexibility in an event-driven architecture. It meets the demand for high concurrency and rapid elasticity.It can scale dynamically during traffic surges to handle highly concurrent data. `EventMesh` also provides flexible routing capabilities, allowing events to be routed to different systems and services based on customizable configuration rules.

<div align="center">
<img src="../../static/images/application-scenario/s4_img1_en.png" width="100%">
<img src="/images/application-scenario/s4_img1_en.png" width="80%"/>
</div>

&emsp;&emsp;The diagram above illustrates the Serverless solution for connected vehicle services. First, data can be cleaned, filtered using the filter and transformer capabilities of `EventMesh`,then data is processed via function computation.After processing, the data is stored in distributed object storage, and events are generated. `EventMesh` routes these events to the appropriate services based on predefined configuration rules. These services include peak-shaving and valley-filling consumption services, AI-based intelligent recommendation services, and multiple departmental business services. This architecture allows each service to respond only to relevant events without coupling to the data source directly.
Expand Down
6 changes: 2 additions & 4 deletions docs/application-scenario/05-generative-AI.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,12 @@

&emsp;&emsp;In addition, `EventMesh's` Event Source and Event Sink can support various types of event sources and event targets, adapting to different kinds of data sources. Whether it's internal enterprise data or external public data, they can be synchronized to the LLM's vector database through the event-driven system, enabling data diversification for the LLM.

<div align="center">
<img src="../../static/images/application-scenario/s5_img1.png" width="100%">
</div>
![chatbot-workflow](../../static/images/application-scenario/s5_img1.png)

&emsp;&emsp;The event-driven architecture also enhances the resilience and scalability of generative AI applications. The Retrieval Augmented Generation (RAG) + Prompt Engineering method requires to establish a data pipeline consisting of multiple microservices to process domain-specific data. The main components of the data pipeline include Tokenization, Data Chunking, Data Vectorization, Word Embedding, and Prompt Builder. The interaction between these microservices can be done asynchronously through an event-driven approach. As the data volume increases, each microservice can independently scale without affecting the overall data pipeline architecture. If AI scientists want to add new microservices, such as a User Feedback App to process user feedback data, it can interact with other microservices in the data pipeline by consuming and publishing specific topics without needing to modify the interfaces of other microservices. `EventMesh's` Serverless Workflow event stream features can be used to build such data pipelines.

<div align="center">
<img src="../../static/images/application-scenario/s5_img2.png" width="80%">
<img src="/images/application-scenario/s5_img2.png" width="80%"/>
</div>

&emsp;&emsp;The `EventMesh` community, along with other Apache open-source communities, will continue to explore new application scenarios in the field of generative AI. The Workflow and Event Source/Sink features of the EventMesh architecture can help build generative AI applications, improving the real-time capability and accuracy of AI applications while enhancing their scalability. This enables the creation of real-time, cloud-native generative AI applications.
Expand Down
2 changes: 1 addition & 1 deletion docs/application-scenario/_category_.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"position": 8,
"position": 7,
"label": "Application Scenario",
"collapsed": false
}

0 comments on commit 2b8b3d5

Please sign in to comment.