Comments (8)
The original organization was around service boundaries, since it was the companion to the eBook on cloud-native microservices architecture, which I was a reviewer for both the code and book:
The top-level folders under src
represent groups of deployable systems/apps/packages. "Services" being the individual microservices. In a """real""" (micro)service-oriented architecture, we would never have all these projects in one solution. It's merely for illustration.
I recognize the goals of this repo are quite different than the original, but just a heads up, changing the organization to such a way that implies all the projects should live in a common solution means it's no longer a candidate as a reference for (micro)service architecture. To the point that it might be worth adding a note in the archived repo that this repo is not the intended companion for that eBook anymore.
from eshop.
I don’t really like the sub folders do we really need them? What are “modules”?
from eshop.
That explains why there was so much duplication before. This project is not optimized from a code structure POV to copy these projects into different repositories. We also are planning to do big updates to the book in the coming months to target the changes made to this repository.
we would never have all these projects in one solution
I'd add some nuance. There might be several solutions in a mono repo (or maybe you would use solution filters). This creeps into the whole Microservices in mono repo vs separate repo discussion (that I would love to avoid).
from eshop.
Is this an open issue? Or is it done already?
from eshop.
This is a matter of personal preference really. I like organising projects into descriptive solution folders but some people dislike have to drill down into the folders or think it might hide certain projects at first glance.
That said as more projects get added, having a single flat list quickly becomes unwieldy IMO.
from eshop.
I agree it's preference, and the way it is right now is the team's preference 😄.
from eshop.
It's less "mono repo vs multiple repos", but more - in a microservices architecture, you don't directly pull in and debug other services code. The solution structure was there to illustrate the logical and physical boundaries between services.
The original codebase illustrated a lot of patterns that seem superfluous or duplicate, but the goal was quite different - showcasing common patterns in microservices architectures using cloud-native Azure technology.
From a documentation perspective, I'd just create a different book. If you're going to remove a lot of the microservice patterns (clear service boundaries, DDD etc), then it's no longer a microservice reference architecture, and a ton of that eBook goes away. Which is fine. @CESARDELATORRE would be able to talk more about the original goals though since it was his baby :)
I'm not arguing against the simplifications - it makes a ton of sense for showcasing Aspire and not muddying the waters with all the other concepts being illustrated.
from eshop.
In a """real""" (micro)service-oriented architecture, we would never have all these projects in one solution. It's merely for illustration.
Why? If you give an example of a mono repo here, it is better to separate physically different services
I think eShopOnContainers have better structure with folders.
from eshop.
Related Issues (20)
- [code] MapView.xaml.cs contains unused initialization code
- Failing when deploying with Open AI enabled with latest version of code.
- Add tracing / metrics for Semantic Kernel HOT 1
- Simplify Windows local dev environment setup using WinGet configuration files
- Repo does not build under macOS via the command line HOT 1
- Questions about UnitWork
- where to find project guidance document HOT 2
- [WebToolsE2E][Aspire] On VS 17.10 GA, opening eShop.web fails with error: "Unable to find a stable package Microsoft.NET.ILLink.Tasks with version (>= 8.0.5)", Even though I have applied the feed of sdk 8.0.300. HOT 2
- [WebToolsE2E][Aspire] Opening eShop.web fails with error: "Unable to find package Aspire.Azure.AI.OpenAI with version (>= 8.0.0)." HOT 1
- Northern Mountains company name/logos not on CELA approved fictitious companies list HOT 2
- Unable to login to app when using Duende Identity Server HOT 4
- Incorrect URL Redirection with ".internal" in Azure Container App Service HOT 1
- Tracking message-id and delivertag in Rabbit EventBus implementation
- Add the option to use Docker Compose or Aspire HOT 1
- Exception handling for itemid HOT 1
- Upgrading NuGet Packages
- Deleting item from shopping bag doesn't update shopping cart number.
- Aspire deployment - An unhandled error has occurred. Reload HOT 1
- Solution still not able to run in Docker
- Configuration missing value for: IdentityUrl
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eshop.