MCPcopy Index your code
hub / github.com/PacktPublishing/Event-Driven-Architecture-in-Golang

github.com/PacktPublishing/Event-Driven-Architecture-in-Golang @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
51,718 symbols 186,848 edges 3,620 files 6,595 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Event-Driven Architecture in Golang

This is the code repository for Event-Driven Architecture in Golang, published by Packt.

Building complex systems with asynchronicity and eventual consistency

What is this book about?

Event-Driven Architecture in Golang is an approach used to develop applications that shares state changes asynchronously, internally, and externally using messages. EDA applications are better suited at handling situations that need to scale up quickly and the chances of individual component failures are less likely to bring your system crashing down.

This book covers the following exciting features: * Understand different event-driven patterns and best practices * Plan and design your software architecture with ease * Track changes and updates effectively using event sourcing * Test and deploy your sample software application with ease * Monitor and improve the performance of your software architecture

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

BEGIN;
-- execute queries, updates, inserts, deletes ...
PREPARE TRANSACTION 'bfa1c57a-d99d-4d74-87a9-3aaabcc754ee';

Following is what you need for this book: This hands-on book is for intermediate-level software architects, or senior software engineers working with Golang and interested in building asynchronous microservices using event sourcing, CQRS, and DDD. Intermediate-level knowledge of the Go syntax and concurrency features is necessary.

With the following software and hardware list you can run all code files present in the book (Chapter 1-12).

Software and Hardware List

Chapter Software required OS required
1-12 Go 1.18+ Windows, Mac OS X, and Linux (Any)
1-12 Docker 20.10.x Windows, Mac OS X, and Linux (Any)
1-12 NATS 2.4 Windows, Mac OS X, and Linux (Any)

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.

Related products

Get to Know the Author

Michael Stack is a solutions architect with more than 20 years experience developing software. He has been working with Golang for over seven years. During his career he has developed numerous N-tier applications, and is focused on development involving microservices and other distributed applications running in the cloud.

Download a free PDF

If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost.

Simply click on the link to claim your free PDF.

https://packt.link/free-ebook/9781803238012

Extension points exported contracts — how you extend this code

ShoppingRepository (Interface)
(no doc) [12 implementers]
Chapter04/ordering/internal/domain/shopping_repository.go
Monolith (Interface)
(no doc) [7 implementers]
Chapter04/internal/monolith/monolith.go
CustomerCacheRepository (Interface)
(no doc) [6 implementers]
Chapter07/notifications/internal/application/customer_cache_repository.go
StoreCacheRepository (Interface)
(no doc) [30 implementers]
Chapter07/depot/internal/domain/store_cache_repository.go
ShoppingRepository (Interface)
(no doc) [12 implementers]
Chapter07/ordering/internal/domain/shopping_repository.go
CatalogRepository (Interface)
(no doc) [14 implementers]
Chapter07/stores/internal/domain/catalog_repository.go
CustomerCacheRepository (Interface)
(no doc) [6 implementers]
Chapter07/search/internal/application/customer_cache_repository.go
Serde (Interface)
(no doc) [16 implementers]
Chapter07/internal/registry/serde.go

Core symbols most depended-on inside this repo

get
called by 14626
Chapter09/internal/di/container.go
n
called by 2806
Chapter04/internal/web/swagger-ui/swagger-ui-bundle.js
n
called by 2806
Chapter04/internal/web/swagger-ui/swagger-ui-es-bundle.js
n
called by 2806
Chapter07/internal/web/swagger-ui/swagger-ui-bundle.js
n
called by 2806
Chapter07/internal/web/swagger-ui/swagger-ui-es-bundle.js
n
called by 2806
Chapter06/internal/web/swagger-ui/swagger-ui-bundle.js
n
called by 2806
Chapter06/internal/web/swagger-ui/swagger-ui-es-bundle.js
n
called by 2806
Chapter03/internal/web/swagger-ui/swagger-ui-bundle.js

Shape

Method 23,818
Function 21,009
Struct 4,826
Interface 1,366
Class 394
TypeAlias 174
FuncType 131

Languages

Go65%
TypeScript35%

Modules by API surface

Chapter12/stores/storespb/js/asyncapi-ui.min.js580 symbols
Chapter11/stores/storespb/js/asyncapi-ui.min.js580 symbols
Chapter10/stores/storespb/js/asyncapi-ui.min.js580 symbols
Chapter09/stores/storespb/js/asyncapi-ui.min.js580 symbols
Chapter08/stores/storespb/js/asyncapi-ui.min.js580 symbols
Chapter07/stores/storespb/js/asyncapi-ui.min.js580 symbols
Chapter12/internal/web/swagger-ui/swagger-ui-es-bundle.js470 symbols
Chapter12/internal/web/swagger-ui/swagger-ui-bundle.js470 symbols
Chapter11/internal/web/swagger-ui/swagger-ui-es-bundle.js470 symbols
Chapter11/internal/web/swagger-ui/swagger-ui-bundle.js470 symbols
Chapter10/internal/web/swagger-ui/swagger-ui-es-bundle.js470 symbols
Chapter10/internal/web/swagger-ui/swagger-ui-bundle.js470 symbols

Datastores touched

mallbotsDatabase · 1 repos
pactdbDatabase · 1 repos
basketsDatabase · 1 repos
customersDatabase · 1 repos
storesDatabase · 1 repos
(mysql)Database · 1 repos

For agents

$ claude mcp add Event-Driven-Architecture-in-Golang \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page