yzhao244 commented on issue #339:
URL: 
https://github.com/apache/incubator-eventmesh/issues/339#issuecomment-869855644


   What is the question:
   
   I am attempting a design which integrates with OpenSchema and is also easy 
to extend. 
   
   What would you like to be added:
   I suggest to add two more modules in overall eventmesh projects
   
   1. eventmesh-store-api 
     This is a interface module which contains schemas registry persistency 
APIs such as the followings. 
   ```
     public interface EventSchemaService extends SchemaRegistry  {
        void createSchema(SchemaRequest schemaRequest);
   
       List<SchemaResponse> readAllSchemas();
       
       void updateSchema(SchemaRequest schemaRequest, String schemaId);   
        
       void deleteSchema(SchemaRequest schemaRequest, String schemaId);
     }
   ```  
     
   
   2. eventmesh-store-h2
      This module contains the actual implementation of EventSchemaService 
which integrates with OpenSchema. I proposed to leverage using h2 database for 
persisting schema registry in eventmesh.
      However, this is also a pluggable module. Therefore, vendors can 
implement persistency using other techniques such as file system or any other 
data stores at their own will.
   
      
   Why is this needed:
   
   It ensures extendibility of Schema Registry in eventmesh since vendors may 
have requirements of using different techniques such as in-memory db, mysql db 
or any other data store for persisting data.
   Furthermore, store layer can be extended with other management infomation 
for persistency such as subscriptions, topics. It is just this time we do for 
schema registry. :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to