Skip to content

pigeatgarlic/goedf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Event oriented application framework written in go

Focus on

  1. Seperation of Concern
    • business logic, application logic and low-level logic are abstracted into different layers
      • Low-level interaction: InstructionSet
      • Application logic: Endpoint
      • Business logic: Microservice
  2. Declarative and Observability
    • Built-in service discovery via etcd config
      • Service microservice are managed by its communication channel (topic in kakfa)
    • Each entity are represeneted and managed by its ID
      • Event responsibility chain are managed
      • built-in logger middleware push to elasticsearch
      • routing mechanism are defined in etcd database and synced in realtime
  3. Scalable and Robust
    • robust:
      • prototype design pattern
        • no additional module abstraction
      • type flexibility
        • data are passed as key-value pair
      • prebuild:
        • pre-builded user database (similiar to .NET identity framwork)
    • scalability:
      • fully asynchrous communication design pattern
      • client-server communication use gRPC bidirectional stream
      • client authentication and authorization are performed only once
  4. Event-driven
    • UserRequest are abstracted into Event
      • Event are passed and processed between multiple Microservice's Endpoint
      • all Endpoint operate on it own key-value segment called Action
      • all UserRequest are translated into Event using predefined rule (created by domain developer)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages